
CVE-2026-42945
NGINX में गंभीर हीप-आधारित बफर ओवरफ़्लो
CVE-2026-42945 (जिसे NGINX Rift के नाम से भी जाना जाता है) NGINX के ngx_http_rewrite_module में एक गंभीर सुरक्षा भेद्यता है।
यह भेद्यता URI पुनर्लेखन नियमों को संभालते समय लंबाई जाँच चरण और वास्तविक कॉपी/एस्केप चरण के बीच असंगत बफर आकार गणना से उत्पन्न होती है।
| स्थिति | संस्करण |
|---|---|
| प्रभावित | 0.6.27 → 1.30.0 |
| ठीक किया गया | 1.30.1 और 1.31.0+ |
| स्थिति | रिलीज़ |
|---|---|
| प्रभावित | R32 → R36 |
| ठीक किया गया | R36 P4, R32 P6, 37.0.0+ |
नोट: कई F5 NGINX उत्पाद (इनग्रेस कंट्रोलर, ऐप प्रोटेक्ट, गेटवे फैब्रिक, आदि) प्रभावित होते हैं यदि वे कमजोर आधार संस्करणों पर चल रहे हैं।
यह बग निर्देशों के एक विशिष्ट संयोजन द्वारा ट्रिगर होता है:
rewrite निर्देश जिसके प्रतिस्थापन स्ट्रिंग में ? होता है (is_args फ्लैग सक्रिय करता है)।rewrite, if, या set निर्देश जो अनाम PCRE कैप्चर ($1, $2, आदि) का उपयोग करता है।is_args = false) का उपयोग करता है → आवश्यक बफर आकार को कम आंकता है।is_args = true) का उपयोग करता है → NGX_ESCAPE_ARGS के साथ ngx_escape_uri() को कॉल करता है।+, &, %, आदि) हीप ओवरफ़्लो का कारण बनते हैं।| प्रभाव | गंभीरता | विवरण |
|---|---|---|
| सेवा अस्वीकार | उच्च | विश्वसनीय वर्कर प्रक्रिया क्रैश |
| दूरस्थ कोड निष्पादन | गंभीर (सशर्त) | ASLR अक्षम या बायपास होने पर संभव |
| हमले की जटिलता | निम्न | एकल HTTP अनुरोध, कोई प्रमाणीकरण नहीं |
CVSS v4.0 स्कोर: 9.2 (गंभीर)
CVSS v3.1 स्कोर: 8.1 (उच्च)
अनाम कैप्चर को नामांकित कैप्चर से बदलें:
rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;
rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;
मुख्य अनुशंसा: उन सभी rewrite नियमों का ऑडिट करें जो ? वाले प्रतिस्थापन स्ट्रिंग और $1, $2, आदि के बाद के उपयोग को जोड़ते हैं।
CVE-2026-42945 अपने लंबे अस्तित्व, शोषण में आसानी, और RCE की संभावना के कारण हाल के वर्षों में सबसे महत्वपूर्ण NGINX भेद्यताओं में से एक है।
अभी कार्रवाई करें — अपने इंस्टेंस को पैच करें और अपने कॉन्फ़िगरेशन को अपडेट करें।
सुरक्षा समुदाय के लिए ❤️ के साथ बनाया गया