
प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट CVE-2026-42945 के लिए, जो NGINX रीराइट/सेट निर्देशों में हीप बफर ओवरफ्लो है, जो निर्मित अनुरोधों के माध्यम से डॉस और संभावित आरसीई को सक्षम करता है।
CVE-2026-42945, NGINX सर्वर में एक गंभीर हीप बफर ओवरफ्लो भेद्यता है, जिसे "NGINX Rift" कहा जाता है। यह भेद्यता NGINX के rewrite और set निर्देशों की प्रोसेसिंग लॉजिक में मौजूद है। जब विशिष्ट कॉन्फ़िगरेशन शर्तें पूरी होती हैं, तो हमलावर दुर्भावनापूर्ण अनुरोध बनाकर हीप ओवरफ्लो को ट्रिगर कर सकता है, जिससे सेवा से वंचित (DoS) या संभावित रिमोट कोड निष्पादन (RCE) हो सकता है।
भेद्यता प्रकार: हीप बफर ओवरफ्लो जोखिम स्तर: उच्च CVE ID: CVE-2026-42945
निम्नलिखित संस्करणों में से किसी एक में तुरंत अपग्रेड करने की सलाह दी जाती है:
भेद्यता को ट्रिगर करने के लिए निम्नलिखित दोनों शर्तों को एक साथ पूरा करना आवश्यक है:
कॉन्फ़िगरेशन शर्त: NGINX कॉन्फ़िगरेशन में एक साथ उपयोग करें:
rewrite निर्देश (प्रतिस्थापन स्ट्रिंग में ? वर्ण शामिल हो)set निर्देश (rewrite के रेगुलर एक्सप्रेशन कैप्चर ग्रुप को संदर्भित करें, जैसे $1, $2)अनुरोध शर्त: अनुरोध URI में एस्केप करने योग्य वर्ण (जैसे +, &, % आदि) शामिल हों।
सिद्धांत स्पष्टीकरण:
rewrite निर्देश e->is_args = 1 सेट करता है (कभी रीसेट नहीं होता)set निर्देश का लंबाई गणना चरण शून्य-सब इंजन (le.is_args = 0) का उपयोग करता है%25 को % में डीकोड करता है, लेकिन ngx_escape_uri इसे %25 (3 बाइट) में पुनः एनकोड करता है%25 वर्ण 1 बाइट से 3 बाइट तक विस्तारित होता है, जिससे बफर सीमा से बाहर लिखा जाता है# प्रोजेक्ट में परीक्षण स्क्रिप्ट का उपयोग करें
python3 CVE-2026-42945/CVE-2026-42945-test.py --host cve.test.com --port 80
%25 वर्णों वाला अनुरोध भेजें%25 वर्ण (जैसे 2000) भेजेंएकल-स्तर NGINX कॉन्फ़िगरेशन में परीक्षण के परिणामस्वरूप भेद्यता ट्रिगर होगी:
क्रैश लॉग विश्लेषण:
ngx_http_script_flush_no_cacheable_variables फ़ंक्शन में होता हैngx_http_core_rewrite_phaseदोहरी-स्तर NGINX (layer1 फ़ॉरवर्डिंग + layer2 बिज़नेस) कॉन्फ़िगरेशन में परीक्षण परिणाम इस प्रकार हैं:
यह परियोजना केवल सुरक्षा अनुसंधान और शैक्षिक उद्देश्यों के लिए है। उपयोगकर्ताओं को अपने देश और क्षेत्र के कानूनों और विनियमों का पालन करना चाहिए। लेखक किसी भी अनधिकृत दुरुपयोग के लिए जिम्मेदार नहीं है।
अवैध हमलों के लिए उपयोग निषिद्ध!
अंतिम अद्यतन: 2026-05-19
| कॉन्फ़िगरेशन परिदृश्य | layer1 परिणाम | layer2 परिणाम | कारण विश्लेषण |
|---|
rewrite बिना break + proxy_pass | ❌ भेद्यता ट्रिगर (404) | ❌ कोई अनुरोध नहीं पहुंचा | rewrite के बाद set निष्पादित होता है जो हीप ओवरफ्लो ट्रिगर करता है, worker क्रैश हो जाता है |
rewrite साथ break + proxy_pass | ✅ सामान्य (200) | ⚠️ संभावित भेद्यता ट्रिगर | break set के निष्पादन को रोकता है, अनुरोध सामान्यतः बैकएंड पर अग्रेषित होता है |
| फ़ाइल | विवरण |
|---|
CVE-2026-42945/CVE-2026-42945-test.py | भेद्यता परीक्षण PoC स्क्रिप्ट, लक्ष्य में भेद्यता मौजूद है या नहीं इसकी पुष्टि करने के लिए |
single_layer_test/single_layer_nginx.conf | एकल-स्तर आर्किटेक्चर का असुरक्षित NGINX कॉन्फ़िगरेशन उदाहरण |
single_layer_test/image.png | भेद्यता सिद्धांत आरेख |
single_layer_test/test.log | परीक्षण लॉग फ़ाइल |
double_layer_test/layer1_nginx.conf | दोहरी-स्तर आर्किटेक्चर की पहली परत (फ़ॉरवर्डिंग परत) NGINX कॉन्फ़िगरेशन |
double_layer_test/layer2_nginx.conf | दोहरी-स्तर आर्किटेक्चर की दूसरी परत (बिज़नेस परत) NGINX कॉन्फ़िगरेशन |