Threat Intelligence

CVE-2026-55040 : quatre défauts dans la validation JWT de SharePoint ouvrent la voie à un RCE non authentifié via CVE-2026-63520

Admin CyberAfrik 15 August 2026 57 lectures
CVE-2026-55040 : quatre défauts dans la validation JWT de SharePoint ouvrent la voie à un RCE non authentifié via CVE-2026-63520

Rapport CTI technique du 15 août 2026

Résumé exécutif

Le 11 août 2026, le chercheur Stephen Fewer (Rapid7) a publié une analyse technique complète accompagnée d'un script de preuve de concept pour CVE-2026-55040, un contournement d'authentification dans le pipeline de validation des jetons JWT de Microsoft SharePoint Server. La faille tient en une ligne de code : RequireSignedTokens = false. Combinée à trois autres faiblesses dans la résolution du certificat de signature et la validation de l'émetteur, elle permet à un attaquant distant, sans le moindre identifiant, de forger un jeton qui usurpe n'importe quel utilisateur du site, y compris un administrateur. Moins de 48 heures après la publication du PoC, la société de threat intelligence Defused signalait des tentatives d'exploitation contre ses honeypots SharePoint.

Le même jour, Rapid7 et Microsoft ont divulgué CVE-2026-63520, une exécution de code à distance dans les Business Connectivity Services de SharePoint, corrigée dans le cycle de mises à jour du 11 août. Prise isolément, chaque faille reste limitée : l'une donne une identité forgée, l'autre exige déjà d'être authentifié pour atteindre le gadget .NET vulnérable. Chaînées, elles suppriment les deux barrières et permettent l'exécution de commandes sur un serveur SharePoint on-premises sans identifiant ni interaction utilisateur. Plus de 8 500 instances SharePoint Server restent exposées directement sur Internet à la date de rédaction, et CISA a publié une alerte de durcissement dès le 14 juillet, avant même que la chaîne complète ne soit rendue publique.

Chronologie

DateÉvénement
Mai 2026 (estimation)Découverte et signalement de CVE-2026-55040 à Microsoft par Rapid7
14 juillet 2026Microsoft corrige CVE-2026-55040 dans le Patch Tuesday de juillet ; CISA publie une alerte de durcissement SharePoint
11 août 2026Rapid7 publie l'analyse technique complète et le PoC public pour CVE-2026-55040 (Stephen Fewer) ; divulgation conjointe de CVE-2026-63520, corrigée dans le cycle de mise à jour du même jour
11-12 août 2026Defused observe des tentatives d'exploitation du PoC Rapid7 contre ses honeypots SharePoint
13 août 2026Help Net Security et CISA alertent sur l'exploitation active ; NHS England Digital documente le risque de chaînage vers un RCE non authentifié
14 août 2026Couverture presse confirmant la forge de jetons administrateur sans mot de passe ; plus de 8 500 serveurs SharePoint on-premises encore exposés publiquement

Fiche vulnérabilité (format fiche CTI)

CVE-2026-55040 | CVSS 9.1 | Microsoft SharePoint Server Subscription Edition, SharePoint Server 2019, SharePoint Enterprise Server 2016 (déploiements on-premises uniquement, SharePoint Online non affecté)

Description technique : la classe SPJsonWebSecurityTokenHandlerV2 désactive RequireSignedTokens lors de la construction des TokenValidationParameters, ce qui autorise un jeton JWT externe avec alg: none sans aucune vérification cryptographique de signature. Le jeton "acteur" imbriqué, censé représenter l'application appelante, voit sa clé de signature résolue via son en-tête x5t sans que la signature ne soit jamais vérifiée contre cette clé. En pointant ce x5t vers l'empreinte du certificat STS local de SharePoint, récupérable sans authentification via /_layouts/15/metadata/json/1, l'attaquant fait résoudre par le serveur son propre certificat de confiance. La validation de l'émetteur accepte ensuite ce certificat au motif qu'il n'apparaît pas dans la liste stricte des fournisseurs enregistrés, et la vérification finale de signature (GetTokenSignature) se contente de constater qu'une chaîne non vide existe, sans jamais valider qu'il s'agit d'une signature RSA correcte. CWE-347 (Improper Verification of Cryptographic Signature) et CWE-290 (Authentication Bypass by Spoofing) couvrent le mécanisme.

Conditions d'exploitation : accès réseau à l'endpoint SharePoint exposé, aucune authentification préalable, aucune interaction utilisateur. L'attaquant construit un jeton externe non signé portant un claim nameid correspondant au SID ou à l'UPN de la cible, ou identifie comme service local via 0#.w|nt authority\local service pour réduire la surface d'authentification exposée.

PoC disponible : oui, publié par Rapid7 (github.com/sfewer-r7/CVE-2026-55040), utilisé activement contre des honeypots depuis le 11-12 août.

Patch/mitigation : correctif de juillet 2026 (Patch Tuesday). Si le correctif ne peut être appliqué immédiatement, ne jamais exposer un serveur SharePoint directement sur Internet ; le placer derrière un proxy inverse de couche 7 authentifiant et filtrant les requêtes, conformément à la documentation de durcissement Microsoft relayée par CISA.

CVE-2026-63520 | CVSS 8.1 | Microsoft SharePoint, Business Connectivity Services, toutes versions supportées

Description technique : une validation d'entrée insuffisante (CWE-20) dans les Business Connectivity Services autorise l'instanciation d'un type .NET non sécurisé à partir de données contrôlées par l'attaquant. Une fois qu'une identité valide, y compris une identité forgée via CVE-2026-55040, atteint ce chemin de code, la charge utile est instanciée comme un objet .NET vivant, ouvrant la voie à une chaîne de gadgets et à l'exécution de commandes arbitraires dans le contexte du compte de service SharePoint.

Conditions d'exploitation : nécessite une identité authentifiée côté serveur, ce qui explique pourquoi cette faille seule reste d'exploitation limitée. Combinée à CVE-2026-55040, la condition d'authentification disparaît intégralement.

PoC disponible : non publié publiquement à la date de rédaction ; les détails techniques complets sont annoncés pour une publication ultérieure par Rapid7.

Patch/mitigation : corrigée dans le cycle de mise à jour du 11 août 2026, à appliquer sans délai en complément du correctif de juillet pour CVE-2026-55040.

Diagramme de la chaîne d'attaque

Quatre faiblesses de validation JWT enchaînées à un gadget .NET non sécurisé pour atteindre un RCE non authentifié. Sources : Rapid7 Labs, Help Net Security, NHS England Digital.

Analyse technique

Étape 1 : reconnaissance du certificat STS

L'attaquant interroge sans authentification l'endpoint /_layouts/15/metadata/json/1, qui retourne en clair le certificat X.509 du Security Token Service local de SharePoint, empreinte SHA-1 comprise. Cette empreinte devient la clé de voûte de la forge de jeton.

Étape 2 : construction du jeton externe non signé

Le jeton JWT externe est construit avec un en-tête alg: none. Comme RequireSignedTokens = false dans la configuration de validation, la bibliothèque JwtSecurityTokenHandler accepte ce jeton sans exiger de signature, contournant la première ligne de défense.

Étape 3 : forge du jeton acteur via l'empreinte STS

Le jeton acteur imbriqué porte un en-tête x5t réglé sur l'empreinte récupérée à l'étape 1. Le resolver SPIssuerTokenResolver retrouve le certificat STS local et l'assigne comme clé de signature du jeton acteur, sans jamais vérifier que la signature présente (une simple chaîne AAAA) correspond réellement à une opération cryptographique valide avec cette clé.

Étape 4 : contournement de la validation d'émetteur

Le certificat STS local n'appartient pas à la collection stricte TrustedSecurityTokenServices. ValidateIssuer traite cette absence comme une autorisation implicite plutôt que comme un rejet, et laisse passer un jeton dont l'émetteur ne devrait jamais être accepté.

Étape 5 : identité usurpée et pivot vers le RCE

Le claim nameid du jeton externe, désormais accepté comme valide, est résolu en identité SharePoint réelle. Muni de cette identité forgée, l'attaquant atteint le chemin de code vulnérable des Business Connectivity Services (CVE-2026-63520) et instancie un objet .NET arbitraire pour exécuter des commandes dans le contexte du compte de service SharePoint.

Indicateurs de compromission

TypeValeur
Endpoint sondéGET /_layouts/15/metadata/json/1 sans en-tête d'authentification
Pattern de requêteEn-tête Authorization: Bearer contenant un JWT à trois segments dont le premier se termine par . (segment de signature vide, alg: none)
Claim suspectnameid positionné sur 0#.w|nt authority\local service ou sur un UPN/SID ne correspondant à aucune session légitime
Source de detectionAlertes Defused sur honeypots SharePoint, 11-12 août 2026

Les indicateurs réseau détaillés (IP sources, chaînes User-Agent spécifiques) n'ont pas été publiés intégralement par les sources CTI consultées à la date de rédaction.

MITRE ATT&CK

TactiqueTechniqueIDJustification
Initial AccessExploit Public-Facing ApplicationT1190Exploitation directe d'un serveur SharePoint exposé sans authentification préalable
Defense EvasionForge Web CredentialsT1606Forge d'un jeton JWT complet pour usurper une identité applicative de confiance
Privilege EscalationValid AccountsT1078L'identité forgée permet d'agir avec les droits d'un utilisateur ou administrateur SharePoint légitime
ExecutionExploitation for Client Execution / Deserialization of Untrusted DataT1203Instanciation d'un type .NET non sécurisé via CVE-2026-63520 pour exécuter du code arbitraire

Cette cartographie est une lecture technique construite à partir des éléments confirmés par Rapid7 et NHS England Digital, pas une attribution vendeur officielle.

Remédiation : checklist opérationnelle

  1. Appliquer sans délai le correctif de juillet 2026 pour CVE-2026-55040 et celui du 11 août 2026 pour CVE-2026-63520 sur tous les serveurs SharePoint on-premises.
  2. Vérifier l'exposition Internet directe des serveurs SharePoint et, si elle ne peut être supprimée immédiatement, placer un reverse proxy de couche 7 avec authentification et filtrage de requêtes devant chaque instance.
  3. Auditer les journaux IIS pour des requêtes vers /_layouts/15/metadata/json/1 suivies de requêtes authentifiées suspectes dans un intervalle de quelques minutes.
  4. Inspecter les en-têtes Authorization: Bearer reçus pour des jetons dont le segment de signature est vide ou dont l'algorithme déclaré est none.
  5. Suivre la documentation officielle de durcissement SharePoint de Microsoft, relayée par l'alerte CISA du 14 juillet 2026.
  6. Considérer toute instance SharePoint on-premises exposée et non patchée comme potentiellement compromise, et lancer une recherche de compromission plutôt qu'un simple patch réactif.

Sources

Tags : CVE-2026-55040CVE-2026-63520SharePointJWTauthentication bypassRapid7RCEon-premises
Partager cet article