Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-42536-PoC — Apache HTTP Server में mod_xml2enc, xml2StartParse और अविश्वसनीय सामग्री के साथ हीप-आधारित बफ़र ओवरफ़्लो भेद्यता | Kitploit
उपकरण/GitHubGitHub/erberkan/cve-2026-42536-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेपर और शोध
GitHuberberkan/cve-2026-42536-poc

CVE-2026-42536-PoC

Apache HTTP Server में mod_xml2enc, xml2StartParse और अविश्वसनीय सामग्री के साथ हीप-आधारित बफ़र ओवरफ़्लो भेद्यता

रिपॉजिटरी देखें
5घं 5मि पहलेअभी तक समीक्षित नहीं
वेबसाइट

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-42536: Apache HTTP Server mod_xml2enc हीप ओवरफ़्लो PoC

यह PoC कोड https://erberkan.github.io/2026/Patch_Diffing_and_N-Day_Defense/ पर ब्लॉग पोस्ट का हिस्सा है।

इस रिपॉज़िटरी में CVE-2026-42536 के लिए एक नियंत्रित प्रूफ़ ऑफ़ कॉन्सेप्ट शामिल है, जो Apache HTTP Server के mod_xml2enc मॉड्यूल में हीप-आधारित आउट-ऑफ़-बाउंड राइट है। Apache HTTP Server के संस्करण 2.4.0 से 2.4.67 तक प्रभावित हैं; संस्करण 2.4.68 में अपस्ट्रीम फ़िक्स शामिल है।

प्रदर्शित परिणाम मेमोरी करप्शन है जिसके बाद Apache वर्कर क्रैश होता है। बार-बार ट्रिगर करने से डिनायल ऑफ़ सर्विस हो सकती है। यह PoC रिमोट कोड एक्ज़ीक्यूशन, प्रिविलेज एस्केलेशन, या रिवर्स शेल को नहीं प्रदर्शित करता है।

सुरक्षा सूचना

यह PoC जानबूझकर ऐसी सामग्री भेजता है जो Apache वर्कर को क्रैश कर सकती है। इसे केवल एक डिस्पोज़ेबल, आइसोलेटेड वातावरण में चलाएँ जिसका आप स्वामी हों या जिसे परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया हो। इसे प्रोडक्शन या तृतीय-पक्ष सिस्टम पर निर्देशित न करें।

स्क्रिप्ट डिफ़ॉल्ट रूप से केवल लूपबैक ऑपरेशन की अनुमति देती है। रिमोट ऑपरेशन के लिए स्पष्ट --allow-remote फ़्लैग आवश्यक है, लेकिन वह फ़्लैग अधिकृति का विकल्प नहीं है।

मूल कारण

xml2StartParse mod_xml2enc को कॉन्फ़िगर किए गए स्टार्ट एलिमेंट से पहले बाइट्स को स्किप करने का निर्देश दे सकता है। Apache HTTP Server 2.4.67 में, fix_skipto() आउटपुट-बफ़र पॉइंटर को आगे बढ़ाता है और वैध डेटा की मात्रा को कम करता है, लेकिन यह आउटपुट क्षमता को उसी ऑफ़सेट से कम नहीं करता:

root@kitploit:~
ctx->bytes -= (p - ctx->buf);
ctx->buf = p;

इसलिए बाद में होने वाला कैरेक्टर-सेट कन्वर्ज़न को मूल एलोकेशन से मापी गई क्षमता प्राप्त होती है, भले ही ctx->buf अब उस एलोकेशन के भीतर इंगित करता हो। PoC इस असंगति को निम्नलिखित को मिलाकर प्रेक्षणीय बनाता है:

  • xml2StartParse html द्वारा स्किप किया गया 2,048-बाइट प्रीफ़िक्स।
  • एक Content-Type जो charset=windows-1252 घोषित करता है।
  • बार-बार बाइट 0x80, जो एक CP1252 बाइट से यूरो चिह्न के तीन-बाइट UTF-8 एन्कोडिंग तक विस्तृत होता है।

विस्तारित होने वाला कन्वर्ज़न पुरानी क्षमता का उपभोग करता है और आगे बढ़े हुए पॉइंटर के बाद बची वास्तविक जगह से आगे लिख सकता है।

Apache 2.4.68 इस लेखांकन त्रुटि को ctx->bblen से स्किप किए गए ऑफ़सेट को घटाकर ठीक करता है:

root@kitploit:~
 ctx->bytes -= (p - ctx->buf);
+ctx->bblen -= (p - ctx->buf);
 ctx->buf = p;

आवश्यक टोपोलॉजी

PoC दो HTTP घटकों का उपयोग करता है:

root@kitploit:~
poc.py client -> vulnerable Apache front end -> payload backend in poc.py

Apache को निम्नलिखित मॉड्यूल लोड करने होंगे:

root@kitploit:~
filter
proxy
proxy_http
xml2enc

निम्नलिखित कॉन्फ़िगरेशन का उपयोग केवल एक आइसोलेटेड Apache 2.4.67-या-पुराने लैब में करें:

root@kitploit:~
Listen 127.0.0.1:18080

<VirtualHost 127.0.0.1:18080>
    ProxyRequests Off

    ProxyPass        /cve-2026-42536/ http://127.0.0.1:18081/
    ProxyPassReverse /cve-2026-42536/ http://127.0.0.1:18081/

    <Location /cve-2026-42536/>
        SetOutputFilter xml2enc
        xml2StartParse html
    </Location>
</VirtualHost>

डिफ़ॉल्ट कॉन्फ़िगरेशन अपेक्षा करता है कि poc.py Apache के समान होस्ट या कंटेनर नेटवर्क नेमस्पेस में चले। पोर्ट 18081 पेलोड बैकएंड है; अनुरोध पोर्ट 18080 पर फ़िल्टर किए गए Apache रूट पर भेजे जाने चाहिए।

उपयोग

कमज़ोर Apache इंस्टेंस शुरू करें, फिर उसी डिस्पोज़ेबल होस्ट या कंटेनर से PoC चलाएँ:

root@kitploit:~
python3 poc.py

डिफ़ॉल्ट निम्नलिखित के समतुल्य हैं:

root@kitploit:~
python3 poc.py \
  --host 127.0.0.1 \
  --port 18080 \
  --path /cve-2026-42536/ \
  --backend-bind 127.0.0.1 \
  --backend-port 18081 \
  --skip 2048 \
  --expand 12288 \
  --attempts 3

दो-मशीन वाले अधिकृत लैब के लिए, पेलोड बैकएंड को Apache से पहुँचने योग्य बनाएँ और ProxyPass/ProxyPassReverse को हमलावर के लैब IP का उपयोग करने के लिए अपडेट करें। फिर बैकएंड को बाइंड करें और लैब Apache पते को स्पष्ट रूप से लक्षित करें:

root@kitploit:~
python3 poc.py \
  --host VICTIM_LAB_IP \
  --port 18080 \
  --backend-bind 0.0.0.0 \
  --backend-port 18081 \
  --allow-remote

बैकएंड पोर्ट को आइसोलेटेड टेस्ट नेटवर्क से बाहर उजागर न करें।

सत्यापन

PoC चलाते समय Apache की निगरानी करें। बिल्ड और प्रोसेस मैनेजर के आधार पर, क्लाइंट अनुरोध विफल हो सकता है, रीसेट हो सकता है, या आंशिक डेटा लौटा सकता है, जबकि पैरेंट प्रोसेस क्रैश हुए वर्कर को बदल देता है।

परीक्षित कमज़ोर बिल्ड से प्राप्त विशिष्ट प्रमाण में शामिल थे:

root@kitploit:~
AH01434  character-set conversion selected
AH01428  skipped to the first configured element
AH01441  conversion performed
AH00052  child process exited on signal 11 (SIGSEGV)

systemd-प्रबंधित इंस्टॉलेशन पर:

root@kitploit:~
sudo journalctl -u apache2 -f

फ़ोरग्राउंड Docker कंटेनर के लिए:

root@kitploit:~
docker logs -f CONTAINER_NAME

वर्कर PID का बदलना एक अतिरिक्त संकेत दे सकता है:

root@kitploit:~
watch -n 0.5 'pgrep -a httpd || pgrep -a apache2'

केवल ट्रांसपोर्ट विफलता ही कमज़ोरी का प्रमाण नहीं है। Apache एरर लॉग, सिस्टम जर्नल, सैनिटाइज़र आउटपुट, या कोर डंप में क्रैश की पुष्टि करें।

नेगेटिव कंट्रोल

Apache HTTP Server 2.4.68 के विरुद्ध समान मॉड्यूल और वर्चुअल-होस्ट कॉन्फ़िगरेशन के साथ वही अनुरोध दोहराएँ। पेलोड बैकएंड को अभी भी अनुरोध प्राप्त होना चाहिए, लेकिन Apache वर्कर जीवित रहना चाहिए क्योंकि आउटपुट क्षमता आगे बढ़े हुए पॉइंटर के साथ-साथ कम हो जाती है।

रिकवरी

यदि पैरेंट प्रोसेस स्वचालित रूप से वर्कर को नहीं बदलता है, तो केवल डिस्पोज़ेबल लैब सेवा को पुनः आरंभ करें:

root@kitploit:~
sudo systemctl restart apache2

या डिस्पोज़ेबल कंटेनर को पुनः आरंभ करें:

root@kitploit:~
docker restart CONTAINER_NAME

संदर्भ

  • Apache HTTP Server 2.4 vulnerabilities
  • NVD entry for CVE-2026-42536
  • GitHub Advisory Database entry
टूल डाउनलोड करें