
CVE‑2026‑20805: Uma falha no Windows Desktop Window Manager que causa divulgação local de informações. Requer privilégios baixos, sem interação do usuário. Classificada como CVSS 5.5 (Média). Explorada ativamente e listada no CISA KEV; correção lançada em janeiro de 2026.
CVE‑2026‑20805: Uma falha no Windows Desktop Window Manager que causa divulgação local de informações. Requer privilégios baixos, sem interação do usuário. Classificada com CVSS 5.5 (Média). Explorada ativamente e listada no CISA KEV; patch lançado em janeiro de 2026.
O CVE 2026 20805 é uma falha de divulgação de informações no Desktop Window Manager (DWM) – o componente central que renderiza a área de trabalho, compõe janelas e acelera a interface de usuário baseada em GPU.
Por que isso importa: a falha permite que um atacante local com privilégios baixos leia dados que deveriam estar confinados a outras sessões ou processos.
| Atributo | Valor |
|---|
| CWE‑200: Exposição de Informações Sensíveis a um Ator Não Autorizado | ✓ |
| Vetor de ataque | Local |
| Privilégios necessários | Baixos |
| Interação do usuário | Nenhuma |
| Impacto – confidencialidade | Alto |
| Impacto – integridade | Nenhum |
| Impacto – disponibilidade | Nenhum |
| Pontuação Base CVSS 3.1 | 5.5 (Média) |
O DWM orquestra a memória da GPU, os buffers de janela e as superfícies de interface de usuário entre processos. É um alvo de alto valor porque agrega dados de múltiplos processos em um espaço compartilhado de GPU; uma falha aqui pode vazar credenciais ou dados de sessão entre usuários.
Papel do DWM no Windows moderno:
A vulnerabilidade explora a falta de verificação de limites no índice do buffer de janela; isso permite que um atacante leia memória adjacente da GPU e obtenha segredos armazenados por outros processos.
Com base na lista CPE do NVD, o Windows 10.0.19041 (e derivados) é afetado.
Abaixo está um fluxo conceitual de exploração:
CreateProcess com privilégios mínimos.# Windows 10.0.19041 – Exploração de leitura de buffer do DWM
$processHandle = Get-Process -Name dwm | Select-Object -ExpandProperty Id
$bufferOffset = 0x00120000 # offset criado para memória adjacente da GPU
$targetWindow = 0x00030001 # índice da janela alvo
# Cria um buffer temporário no espaço do 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/HEAD/:CopyMemory(
$processHandle,
$bufferOffset,
$kernelBuffer,
0x1000)
# Copia o buffer do kernel para a rotina de composição do DWM
Invoke-DwmRead -ProcessId $processHandle `
-WindowIndex $targetWindow `
-SrcAddress $bufferOffset `
-Size 0x1000
# Despeja os dados expostos em um arquivo local para análise
$dumpPath = "C:\Temp\DwmLeak.txt"
[IO.File]::WriteAllBytes($dumpPath, $kernelBuffer)
O script demonstra como um atacante pode aproveitar a memória de GPU do DWM para ler dados ocultos.
A detecção do CVE‑2026‑20805 concentra-se em identificar interações anormais com dwm.exe e telemetria incomum relacionada à GPU. A exploração depende da leitura de buffers de memória suportados por GPU usando offsets criados, portanto, os defensores devem monitorar desvios do comportamento normal do Desktop Window Manager.
0x2B (DisplayUpdate)Essas fontes fornecem visibilidade sobre criação de processos, acesso a handles e atividade de atualização de GPU.
CreateProcess envolvendo dwm.exe, especialmente quando o processo pai não é explorer.exe.DisplayUpdate (0x2B) seguidos por leituras de memória usando tamanhos ou offsets incomuns de buffer.
SrcAddress: 0x00120000Size: 0x1000HandleOpen direcionados a dwm.exe e rajadas de atividade 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
O aviso da Microsoft para o CVE 2026 20805 inclui um patch que valida os índices de buffer no DWM antes de copiar dados da GPU.
| Versão do Windows | Número do patch |
|---|---|
| 10.0.19041 | KB5000001 |
| 10.0.19042 | KB5012345 |
Invoke-DwmRead executa sem erros nos nós de teste.dwm.A divulgação de informações via DWM é frequentemente subestimada porque pode expor artefatos de interface de usuário e dados de sessão entre usuários. A memória de GPU vazada pode apoiar movimento lateral, especialmente em ambientes onde múltiplas sessões compartilham uma única estação de trabalho ou servidor.
Alto impacto de confidencialidade: A falha permite que um atacante leia o conteúdo de janelas de outras sessões.
Pontuação CVSS média (5.5): Embora o valor numérico seja moderado, a significância operacional é alta.
O CVE 2026 20805 demonstra que uma exploração local de baixo privilégio do DWM pode produzir vazamentos significativos de dados. A inclusão da falha no Catálogo de Vulnerabilidades Exploradas Conhecidas da CISA ressalta sua relevância no mundo real. Ao aplicar a estratégia de mitigação, detecção e patch descrita, uma organização pode reduzir o risco enquanto melhora a visibilidade sobre os fluxos de memória da GPU.