
यह एक रक्षा और आंतरिक नेटवर्क जांच के लिए CVE-2026-42945 स्थैतिक पहचान उपकरण है, जो NGINX ngx_http_rewrite_module से संबंधित कॉन्फ़िगरेशन में उच्च-जोखिम rewrite संयोजनों की जाँच करता है।
यह एक रक्षात्मक और आंतरिक नेटवर्क जाँच के लिए CVE-2026-42945 स्थैतिक जाँच उपकरण है, जो NGINX ngx_http_rewrite_module से संबंधित कॉन्फ़िगरेशन में उच्च जोखिम वाले rewrite संयोजनों की जाँच करता है।
यह परियोजना शोषण कोड प्रदान नहीं करती, दुर्भावनापूर्ण HTTP अनुरोध नहीं भेजती, और न ही क्रैश या रिमोट कोड निष्पादन को ट्रिगर करने का प्रयास करती है। यह केवल स्थानीय NGINX कॉन्फ़िगरेशन फ़ाइलों को पढ़ती है, ताकि सुरक्षा टीमों को यह निर्णय लेने में सहायता मिल सके कि उन्नयन या कॉन्फ़िगरेशन सुधार आवश्यक है या नहीं।
CVE-2026-42945 NGINX Open Source और NGINX Plus के ngx_http_rewrite_module में एक हीप बफर ओवरफ़्लो दोष है।
सार्वजनिक घोषणा में वर्णित जोखिम परिदृश्य मोटे तौर पर निम्नलिखित हैं:
rewrite निर्देश का अस्तित्व;rewrite, if या set निर्देश;$1, $2;? शामिल होना।NGINX Open Source के पैच किए गए संस्करण 1.30.1, 1.31.0 और उसके बाद के संस्करण हैं। NGINX Plus के लिए कृपया विक्रेता की घोषणा में दिए गए पैच किए गए संस्करण देखें।
संदर्भ लिंक:
केवल Python 3 की आवश्यकता है, कोई तृतीय-पक्ष निर्भरता नहीं।
python3 --version
पहले NGINX का पूर्ण रेंडर किया गया कॉन्फ़िगरेशन निर्यात करने की अनुशंसा की जाती है:
nginx -T > nginx-rendered.conf
python3 cve_2026_42945_checker.py nginx-rendered.conf
सीधे कॉन्फ़िगरेशन निर्देशिका को भी स्कैन किया जा सकता है:
python3 cve_2026_42945_checker.py /etc/nginx
JSON आउटपुट:
python3 cve_2026_42945_checker.py --json nginx-rendered.conf
यदि कॉन्फ़िगरेशन निर्यात में NGINX संस्करण जानकारी शामिल नहीं है, तो सहायक निर्णय के लिए मैन्युअल रूप से संस्करण निर्दिष्ट किया जा सकता है:
python3 cve_2026_42945_checker.py --json --nginx-version 1.30.0 nginx-rendered.conf
SARIF आउटपुट, GitHub कोड स्कैनिंग या आंतरिक सुरक्षा प्लेटफ़ॉर्म में आयात करने के लिए सुविधाजनक:
python3 cve_2026_42945_checker.py --sarif nginx-rendered.conf > cve-2026-42945.sarif
0: कोई उच्च जोखिम कॉन्फ़िगरेशन पैटर्न नहीं मिला;1: कम से कम एक उच्च जोखिम कॉन्फ़िगरेशन पैटर्न मिला;2: इनपुट फ़ाइल या पथ पढ़ने में विफलता।जाँच परिणामों में मुख्य फ़ील्ड शामिल हैं:
versions: कॉन्फ़िगरेशन या पैरामीटर से पहचाने गए NGINX संस्करण और निर्णय परिणाम;findings: हिट किए गए जोखिम कॉन्फ़िगरेशन स्थान, कारण और साक्ष्य;summary: स्कैन की गई फ़ाइलों की संख्या, पाई गई संख्या और उच्चतम जोखिम स्तर।नमूना जोखिम परिणाम इस तरह के साक्ष्य की ओर इशारा करता है:
rewrite ... ?$1; -> set ... $1;
इसका अर्थ है कि यह कॉन्फ़िगरेशन रूप सार्वजनिक घोषणा में वर्णित जोखिम स्थितियों के करीब है, और इसे प्राथमिकता से पुनः जाँचने की आवश्यकता है।
प्राथमिकता से NGINX को पैच किए गए संस्करण में उन्नत करें:
1.30.1, 1.31.0 या उसके बाद के संस्करण;साथ ही rewrite नियमों की पुनः जाँच की सिफारिश की जाती है:
$1, $2 जैसे अनाम कैप्चर संदर्भों पर निर्भरता से बचें;nginx -T द्वारा निर्यात किए गए पूर्ण कॉन्फ़िगरेशन को स्कैन करें।यह उपकरण एक स्थैतिक कॉन्फ़िगरेशन डिटेक्टर है, पूर्ण दोष सत्यापनकर्ता नहीं। यह निम्नलिखित को कवर नहीं कर सकता:
कृपया इसे आंतरिक नेटवर्क जाँच और कॉन्फ़िगरेशन ऑडिट के लिए एक सहायक उपकरण के रूप में उपयोग करें, न कि एकमात्र दोष मूल्यांकन आधार के रूप में।
परीक्षण चलाएँ:
python -m pytest
रिपॉजिटरी में GitHub Actions वर्कफ़्लो शामिल है, जो push और pull request पर स्वचालित रूप से परीक्षण चलाएगा।