
CVE-2025-29927 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट जो Next.js मिडलवेयर प्रमाणीकरण जांचों को बायपास करने के लिए x-middleware-subrequest जोड़ता है।
इस रिपॉजिटरी में Next.js में CVE-2025-29927 कमजोरी के लिए एक प्रूफ ऑफ कॉन्सेप्ट शामिल है, जहां आंतरिक हेडर x-middleware-subrequest का उपयोग करके प्रमाणीकरण जैसी मिडलवेयर जांचों को दरकिनार किया जा सकता है।
🧪 यह प्रोजेक्ट Next.js v13.4.19 के साथ परीक्षण किया गया था।
git clone https://github.com/goncalocsousa1/CVE-2025-29927.git
cd CVE-2025-29927
npm install
npm run dev
http://localhost:3000
यह एप्लिकेशन एक सरल प्रमाणीकरण प्रणाली प्रदर्शित करता है जिसमें एक संरक्षित मार्ग है जिसे CVE-2025-29927 कमजोरी का उपयोग करके दरकिनार किया जा सकता है। यह इस प्रकार काम करता है:
होम पेज (/)
auth-token) सेट करता हैसंरक्षित पेज (/protected)
auth-token कुकी की उपस्थिति की जाँच करता हैमिडलवेयर सुरक्षा
auth-token कुकी है या नहीं/protected/* मार्गों तक पहुँचने का प्रयास करता है, तो होम पेज पर रीडायरेक्ट करता हैकमजोरी का प्रदर्शन
x-middleware-subrequest हेडर का शोषण किया जा सकता हैauth-token कुकी के भी, हमलावर संरक्षित मार्गों तक पहुँच सकते हैंइस एप्लिकेशन में /protected पर एक संरक्षित मार्ग शामिल है जिसके लिए सामान्यतः प्रमाणीकरण की आवश्यकता होती है। हालांकि, किसी अनुरोध में हेडर x-middleware-subrequest: middleware का उपयोग करके, जैसे curl -H "x-middleware-subrequest: middleware" http://localhost:3000/protected, आप प्रमाणीकरण जांच को दरकिनार कर सकते हैं।
आप Burp Suite का उपयोग करके भी इस व्यवहार को पुन: उत्पन्न कर सकते हैं, अनुरोध को इंटरसेप्ट करके और मैन्युअल रूप से हेडर जोड़कर।
Burp Suite के साथ इसे आज़माने के लिए, Proxy टैब खोलें और Intercept उप-टैब पर जाएँ। सुनिश्चित करें कि Intercept is On है, फिर Open Browser पर क्लिक करें और संरक्षित मार्ग पर नेविगेट करें: http://localhost:3000/protected

Burp Suite संरक्षित मार्ग के अनुरोध को कैप्चर करेगा। वहाँ से, निम्नलिखित हेडर जोड़ें: x-middleware-subrequest: middleware (ऊपर स्क्रीनशॉट में हाइलाइट किया गया). अंत में, अनुरोध को आगे भेजें और संरक्षित मार्ग तक पहुँचें।

निम्नलिखित पैच किए गए संस्करणों में से किसी एक पर अपडेट करें: