
CVE-2026-42945 (nginx-rift) के लिए स्थानीय जोखिम मूल्यांकन स्क्रिप्ट। संस्करण, संवेदनशील rewrite+set कॉन्फ़िगरेशन, ASLR स्थिति, और संकलन सख्ती की जाँच करता है ताकि वास्तविक RCE बनाम DoS जोखिम निर्धारित किया जा सके।
CVE-2026-42945 (Nginx Rift) के लिए एक स्थानीय जोखिम मूल्यांकन उपकरण। यह सीधे आपको यह बताने के बजाय कि 'संस्करण प्रभावित है तो खतरनाक है', यह स्क्रिप्ट वास्तव में जोखिम निर्धारित करने वाली तीन शर्तों की परत-दर-परत जाँच करती है और आपकी वास्तविक स्थिति के अनुसार निष्कर्ष देती है।
CVE-2026-42945 nginx के ngx_http_rewrite_module में 18 साल पुराना एक हीप बफर ओवरफ्लो दोष (CWE-122) है, जिसका CVSS 4.0 स्कोर 9.2 है। लेकिन घोषणा में एक महत्वपूर्ण सीमा है:
"Code execution possible on systems without ASLR protection"
RCE के लिए तीन शर्तों को एक साथ पूरा करना होता है:
rewrite + set निर्देश संयोजन कॉन्फ़िगर किया हैइनमें से कोई भी न होने पर, सबसे बुरा परिणाम worker प्रक्रिया के क्रैश होने के बाद स्वचालित रूप से पुनः आरंभ होना (DoS) है, न कि सर्वर का अधिग्रहण।
विस्तृत विश्लेषण के लिए देखें: 《nginx का 18 साल पुराना बम, क्या 9.2 स्कोर का दोष आपके सर्वर को उड़ा देगा?》
# चलाएँ (nginx पूर्ण कॉन्फ़िगरेशन पढ़ने के लिए sudo आवश्यक)
sudo bash check_cve_2026_42945.sh
स्क्रिप्ट निम्नलिखित चार आइटमों की क्रमिक रूप से जाँच करती है, और यदि कोई भी आइटम पूरा नहीं होता है तो वह समय से पहले बाहर निकलती है और निष्कर्ष देती है:
| जाँच आइटम | विवरण |
|---|---|
| nginx संस्करण | प्रभावित सीमा: 0.6.27 – 1.30.0 |
| दोष ट्रिगर कॉन्फ़िगरेशन | एक ही location ब्लॉक में ? के साथ rewrite और कैप्चर ग्रुप set का एक साथ होना |
| ASLR स्थिति | /proc/sys/kernel/randomize_va_space पढ़ना |
| संकलन सुरक्षा | -fcf-protection / FORTIFY_SOURCE / Full RELRO / स्टैक सुरक्षा का पता लगाना |
स्थिति 1: संस्करण प्रभावित है, लेकिन कोई दोष ट्रिगर कॉन्फ़िगरेशन नहीं (सबसे सामान्य)
[*] nginx संस्करण: 1.24.0
[!] संस्करण 1.24.0 प्रभावित सीमा में है, ट्रिगर शर्तों की जाँच जारी है...
[*] nginx कॉन्फ़िगरेशन स्कैन कर रहा है (rewrite+set दोष कॉन्फ़िगरेशन संयोजन की जाँच)...
[✓] कोई दोष ट्रिगर कॉन्फ़िगरेशन नहीं मिला (rewrite+set संयोजन)
निष्कर्ष: संस्करण प्रभावित है, लेकिन कोई दोष ट्रिगर कॉन्फ़िगरेशन नहीं, वास्तविक जोखिम बहुत कम
सुझाव: 1.30.1 / 1.31.0 में अपग्रेड करने की योजना बनाएं, तत्काल कार्रवाई की आवश्यकता नहीं
स्थिति 2: दोष कॉन्फ़िगरेशन मौजूद, ASLR चालू, संकलन सुरक्षा पूर्ण
[!] संस्करण 1.24.0 प्रभावित सीमा में है, ट्रिगर शर्तों की जाँच जारी है...
[!] दोष ट्रिगर कॉन्फ़िगरेशन मिला:
→ location ~ ^/api/(.*)$ {
[✓] ASLR सक्षम (स्तर 2, पूर्ण यादृच्छिकीकरण)
→ RCE के विश्वसनीय शोषण के लिए आवश्यक शर्तें पूरी नहीं होतीं, सबसे बुरी स्थिति worker प्रक्रिया का क्रैश होना (DoS)
[✓] -fcf-protection (Intel CET नियंत्रण प्रवाह सुरक्षा) का पता चला
[✓] FORTIFY_SOURCE=3 का पता चला
[✓] Full RELRO (GOT केवल पढ़ने योग्य) का पता चला
[✓] स्टैक सुरक्षा (stack-protector) का पता चला
जोखिम स्तर: कम
सुझाव: अगले रखरखाव विंडो में nginx 1.30.1 / 1.31.0 में अपग्रेड करें
स्थिति 3: दोष कॉन्फ़िगरेशन मौजूद, ASLR बंद
[!] दोष ट्रिगर कॉन्फ़िगरेशन मिला:
→ location ~ ^/api/(.*)$ {
[✗] ASLR बंद है! RCE जोखिम में उल्लेखनीय वृद्धि
जोखिम स्तर: उच्च (DoS निश्चित / RCE संभव)
तत्काल कार्रवाई:
1. दोष ट्रिगर करने वाले rewrite+set कॉन्फ़िगरेशन को अस्थायी रूप से हटाएं या संशोधित करें
2. ASLR चालू करने की पुष्टि करें: echo 2 | sudo tee /proc/sys/kernel/randomize_va_space
3. nginx अपग्रेड करें: apt install nginx या 1.30.1+ संकलित करें
| स्तर | अर्थ | अनुशंसित कार्रवाई लय |
|---|---|---|
| कोई प्रभाव नहीं | nginx स्थापित नहीं या संस्करण पहले ही ठीक हो चुका है | कोई कार्रवाई नहीं |
| बहुत कम | संस्करण प्रभावित है लेकिन कोई ट्रिगर कॉन्फ़िगरेशन नहीं | अगले नियमित रखरखाव में अपग्रेड करें |
| कम | ट्रिगर कॉन्फ़िगरेशन मौजूद है, लेकिन ASLR + संकलन सुरक्षा पूर्ण | अगले रखरखाव विंडो में अपग्रेड करें |
| मध्यम | ट्रिगर कॉन्फ़िगरेशन मौजूद है, सुरक्षा में कमी है | जितनी जल्दी हो सके अपग्रेड करें, उपलब्धता जोखिम में है |
| उच्च | ट्रिगर कॉन्फ़िगरेशन + ASLR बंद + सुरक्षा की कमी | तुरंत कार्रवाई करें |
| उत्पाद | प्रभावित संस्करण | फिक्स संस्करण |
|---|---|---|
| NGINX ओपन सोर्स | 0.6.27 – 1.30.0 | 1.30.1 / 1.31.0 |
| NGINX Plus | R32 – R36 | R36 P4 / R35 P2 / R32 P6 |
# Ubuntu / Debian
sudo apt update && sudo apt install nginx
# संस्करण सत्यापित करें
nginx -v
आधिकारिक घोषणा: https://my.f5.com/manage/s/article/K000161019
स्क्रिप्ट को निम्नलिखित परिदृश्यों में व्यावहारिक रूप से सत्यापित किया गया है:
परीक्षण वातावरण: Ubuntu 22.04 LTS, nginx 1.24.0 (Ubuntu आधिकारिक पैकेज)
include संरचनाओं में छूट सकती है (स्क्रिप्ट सभी include को विस्तारित करने के लिए nginx -T का उपयोग करती है, अधिकांश मामलों को कवर करती है)MIT