
यह रिपॉजिटरी CVE-2025-29927 के लिए एक प्रूफ ऑफ कॉन्सेप्ट (PoC) है, जो Next.js मिडलवेयर में एक भेद्यता है जो हेडर हेरफेर के माध्यम से प्रमाणीकरण और प्राधिकरण जांच को बायपास करने की अनुमति देती है।
प्रभावित संस्करण: >= 11.1.4, <= 1 3.5.6, > 14.0.0, < 14.2.25, > 15.0.0, < 15.2.3
CVE आईडी: CVE-2025-29927
गंभीरता: उच्च (CVSS: 9.1)
यह भेद्यता Next.js में मिडलवेयर श्रृंखला निष्पादन में मौजूद है, जहां एक हमलावर मिडलवेयर सुरक्षा नियंत्रणों को बायपास करने के लिए x-middleware-subrequest हेडर में हेरफेर कर सकता है। एक विशिष्ट हेडर मान तैयार करके, मिडलवेयर को यह विश्वास दिलाया जा सकता है कि अनुरोध पहले ही संसाधित हो चुका है, जिससे प्रमाणीकरण जांच प्रभावी रूप से बायपास हो जाती है।
यह टूल इन संस्करणों पर परीक्षण किया गया है: Next.js 15.0.0 से 15.2.2, अन्य संस्करणों में संशोधन की आवश्यकता हो सकती है।
निर्भरताएँ इंस्टॉल करें:
pip install -r requirements.txt
python poc-cve-2025-29927.py http://example.com/protected-route
usage: poc-cve-2025-29927.py [-h] [-r REPEAT] [-o OUTPUT] [--no-browser] [-f] url
PoC for CVE-2025-29927 - Next.js Middleware Bypass
positional arguments:
url Target URL to test (e.g., http://localhost:3000/admin/dashboard)
options:
-h, --help show this help message and exit
-r REPEAT, --repeat REPEAT
Number of middleware repeats in header (default: 5)
-o OUTPUT, --output OUTPUT
Output file name (default: response.html)
--no-browser Do not open result in browser
-f, --force Skip version check and force exploit attempt
python poc-cve-2025-29927.py http://localhost:3000/admin/dashboard
python poc-cve-2025-29927.py http://target-site.com/admin/dashboard -f
python poc-cve-2025-29927.py http://vulnerable-app.com/protected-page -r 10 -o result.html --no-browser
स्क्रिप्ट पहले लक्षित एप्लिकेशन के Next.js संस्करण की पहचान करने के लिए विभिन्न डिटेक्शन विधियों का उपयोग करती है।
यदि एक भेद्य संस्करण (15.0.0-15.2.2) का पता चलता है, तो यह एक्सप्लॉयट के साथ आगे बढ़ती है।
एक विशेष रूप से तैयार किए गए x-middleware-subrequest हेडर के साथ एक अनुरोध भेजा जाता है।
प्रतिक्रिया को एक फ़ाइल में सहेजा जाता है और सफलता संकेतकों के लिए विश्लेषण किया जाता है।
यदि सफल होता है, तो संरक्षित सामग्री बिना प्रमाणीकरण के एक्सेस की जा सकती है।
यदि आप Next.js का कोई भेद्य संस्करण चला रहे हैं, तो इस भेद्यता को ठीक करने के लिए संस्करण 15.2.3 या उसके बाद के संस्करण में अपग्रेड करें।
यह टूल केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। इसका उपयोग केवल उन अनुप्रयोगों पर करें जिनके आप मालिक हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति है। अनधिकृत परीक्षण लागू कानूनों का उल्लंघन कर सकता है।
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।
Heimd411
सुरक्षा शोधकर्ता
GitHub प्रोफ़ाइल
यह रिपॉजिटरी