🔍 Contexte

Publié le 2 août 2026 par Resecurity, cet article constitue une analyse technique approfondie de la vulnérabilité CVE-2026-42897 et de la campagne d’exploitation associée menée par le groupe TA488 (également connu sous les noms Void Blizzard et Laundry Bear), acteur étatique russe.

🎯 Vulnérabilité CVE-2026-42897

CVE-2026-42897 est une vulnérabilité de type XSS stockée (Cross-Site Scripting) de sévérité élevée (CVSS 8.1) affectant Microsoft Exchange Server on-premises via Outlook Web Access (OWA). Elle résulte d’une insuffisance de sanitisation HTML dans le pipeline de rendu des emails : le contenu HTML malveillant est inséré directement dans le DOM authentifié sans neutralisation des gestionnaires d’événements JavaScript.

Versions affectées :

  • Exchange Server Subscription Edition RTM → patch SU8 (KB5103212)
  • Exchange Server 2019 CU14/CU15 → ESU Period 2
  • Exchange Server 2016 CU23 → SU23 (KB5103215)

Exchange Online / Microsoft 365 n’est pas affecté.

⚡ Mécanisme d’exploitation (“Half-Click”)

L’attaque ne nécessite qu’une seule action de la victime : ouvrir l’email dans OWA. Le payload JavaScript malveillant est :

  • Dissimulé dans des fragments d’URL d’images (après le caractère #)
  • Encodé en Base64
  • Déclenché par un gestionnaire d’événement onload attaché à un élément image

Les leurres utilisent des sujets professionnels génériques (marchés gaziers, énergie nucléaire, semi-conducteurs) pour éviter la détection.

🦠 Implant OWAReaper

OWAReaper est un implant JavaScript résident en mémoire navigateur, évolution du ZimReaper ciblant précédemment Zimbra. Ses capacités principales :

  • Auto-nettoyage : réécriture de l’email compromis via les API Outlook pour effacer les artefacts
  • Reconnaissance : collecte de métadonnées de boîte mail, identité, configuration Outlook
  • Vol de credentials : injection de champs DOM invisibles pour capturer l’autofill navigateur
  • Vol de tokens OAuth : abus de GetClientAccessToken() sur les add-ins avec permission ReadWriteMailbox
  • Persistance Exchange : appel UpdateFolder via EWS pour accorder les droits Owner à l’utilisateur Default sur tous les dossiers
  • Exécution de commandes : réception et exécution de modules JavaScript chiffrés

🔗 Infrastructure C2 et exfiltration

Deux canaux de commande :

  • GitHub Commit Search API : interrogé toutes les 24h, commandes AES-CTR chiffrées (préfixes : code, domn, cmnd)
  • Cache IndexedDB Outlook : scan toutes les 5 minutes pour des corps de messages encodés

Deux protocoles d’exfiltration :

  • HTTPS primaire : données chiffrées AES-CTR routées via des CDN d’images légitimes (images.weserv.nl, i3.wp.com, slack-imgs.com) vers acocdn[.]com
  • DNS tunneling : fallback avec données Base32-encodées en sous-domaines

🏗️ Trois couches de persistance

  1. Permissions Exchange serveur : Default = Owner sur l’Exchange, survit aux rotations de mots de passe, MFA et rebuilds
  2. localStorage navigateur : implant chiffré sous PageDataPayload.OwaUserDefaultSettings, rechargé à chaque ouverture d’onglet OWA
  3. Cache IndexedDB : iframe caché dans owa_offline_db, s’exécute même après réinstallation de l’OS

📄 Type d’article

Il s’agit d’une analyse technique détaillée publiée par un éditeur de cybersécurité, visant à documenter la vulnérabilité, l’implant associé, la chaîne d’attaque complète et les indicateurs de compromission pour les équipes de défense et de threat hunting.

🧠 TTPs et IOCs détectés

Acteurs de menace

TTP

  • T1566.001 — Phishing: Spearphishing Attachment (Initial Access)
  • T1189 — Drive-by Compromise (Initial Access)
  • T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
  • T1539 — Steal Web Session Cookie (Credential Access)
  • T1528 — Steal Application Access Token (Credential Access)
  • T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
  • T1098 — Account Manipulation (Persistence)
  • T1176 — Browser Extensions (Persistence)
  • T1102.002 — Web Service: Bidirectional Communication (Command and Control)
  • T1071.004 — Application Layer Protocol: DNS (Command and Control)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1573.001 — Encrypted Channel: Symmetric Cryptography (Command and Control)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1070 — Indicator Removal (Defense Evasion)
  • T1114.002 — Email Collection: Remote Email Collection (Collection)
  • T1087 — Account Discovery (Discovery)

IOC

  • Domaines : asecdns.comVT · URLhaus · ThreatFox
  • Domaines : acocdn.comVT · URLhaus · ThreatFox
  • Domaines : dnsrecursive.euVT · URLhaus · ThreatFox
  • Domaines : tdndns.comVT · URLhaus · ThreatFox
  • URLs : https://images.weserv.nl/?url=https://acocdn.com/assets/v1_SGVsbG8gV29ybGQURLhaus
  • SHA256 : 6897b649f29e54d8910459963bbf94ed5c7a4fe66a56bc5962540b226b8e48c4VT · MalwareBazaar
  • CVEs : CVE-2026-42897NVD · CIRCL
  • Fichiers : msanalytics.json
  • Fichiers : ews_extensions_debug.json
  • Fichiers : poison_wizard_error_dom.html

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 4 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • OWAReaper (backdoor)
  • ZimReaper (backdoor)

🟢 Indice de vérification factuelle : 80/100 (haute)

  • ⬜ resecurity.com — source non référencée (0pts)
  • ✅ 40303 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 10 IOCs dont des hashes (15pts)
  • ✅ 4/5 IOCs confirmés (MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (15pts)
  • ✅ 17 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifié(s) : TA488 (5pts)
  • ✅ 1/1 CVE(s) confirmée(s) (CIRCL) (5pts)

IOCs confirmés externellement :

  • 6897b649f29e54d8… (sha256) → VT (35/76 détections)
  • asecdns.com (domain) → VT (20/90 détections)
  • acocdn.com (domain) → VT (20/90 détections)
  • dnsrecursive.eu (domain) → VT (19/90 détections)

🔗 Source originale : https://www.resecurity.com/blog/article/inside-owareaper-how-cve-2026-42897-enables-persistent-exchange-mailbox-compromise