Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-29927 — प्रूफ-ऑफ-कॉन्सेप्ट और मास स्कैनिंग टूलकिट CVE-2025-29927 के लिए, जो फोर्ज्ड x-middleware-subrequest हेडर के माध्यम से Next.js मिडलवेयर प्राधिकरण बायपास है। इसमें nuclei टेम्पलेट और Python स्कैनर शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/sdrtba/cve-2025-29927
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणआईडीएस/आईपीएस से बचनावेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubsdrtba/cve-2025-29927

CVE-2025-29927

प्रूफ-ऑफ-कॉन्सेप्ट और मास स्कैनिंग टूलकिट CVE-2025-29927 के लिए, जो फोर्ज्ड x-middleware-subrequest हेडर के माध्यम से Next.js मिडलवेयर प्राधिकरण बायपास है। इसमें nuclei टेम्पलेट और Python स्कैनर शामिल हैं।

रिपॉजिटरी देखें
181 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2025-29927 — Next.js (मिडलवेयर प्राधिकरण बाईपास)

संक्षेप में: Next.js middleware में एक कमजोरी, जो x-middleware-subrequest हेडर को जाली बनाकर प्राधिकरण जाँचों को बायपास करने की अनुमति देती है।


विषय-सूची

  • CVE-2025-29927 — Next.js (मिडलवेयर प्राधिकरण बाईपास)
    • विषय-सूची
    • संवेदनशील होस्टों का संग्रह
    • और जानकारी
    • संक्षिप्त विवरण
    • कमजोरी का विवरण
    • CWE Weakness Enumeration
    • प्रभाव और अतिरिक्त जोखिम
    • प्रभावित संस्करण
    • CVSS और मेट्रिक्स
    • PoC — स्थानीय रूप से सुरक्षित पुनरुत्पादन
    • Nuclei, Python से बड़े पैमाने पर जाँच
      • Nuclei
      • Python-स्कैनर (आर्किटेक्चर)
    • Mitigation / Remediation
    • Detection / SIEM / IDS नियम
    • पता लगाना और बड़े पैमाने पर जाँच (Scanning & Detection)
    • संसाधन और लिंक

संवेदनशील होस्टों का संग्रह

मैंने shodan में http.headers:"x-middleware-rewrite" फ़िल्टर से खोज की और 1000 डोमेन की सूची ले ली।

var ipElements=document.querySelectorAll('strong'),ips=[],domains=[];ipElements.forEach(function(e){var t=e.innerHTML.replace(/['"]/g,'').trim();/^(\d{1,3}\.){3}\d{1,3}$/.test(t)?ips.push(t):/^(?!\d+\.)[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(t)&&domains.push(t)});var dataString='IPs:\n'+ips.join('\n')+'\n\nDomains:\n'+domains.join('\n'),a=document.createElement('a');a.href='data:text/plain;charset=utf-8,'+encodeURIComponent(dataString);a.download='domains.txt';document.body.appendChild(a);a.click();
var ipElements=document.querySelectorAll('strong');var ips=[];ipElements.forEach(function(e){ips.push(e.innerHTML.replace(/["']/g,''))});var ipsString=ips.join('\n');var a=document.createElement('a');a.href='data:text/plain;charset=utf-8,'+encodeURIComponent(ipsString);a.download='ip.txt';document.body.appendChild(a);a.click();

और जानकारी

  1. संदर्भ और पृष्ठभूमि Next.js के शुरुआती संस्करणों में, middleware एप्लिकेशन से आंतरिक (sub-)अनुरोध कर सकते थे। पुनरावृत्ति (recursion) को रोकने के लिए, फ्रेमवर्क सर्विस HTTP-हेडर पेश करता था — आंतरिक मार्कर, जो दर्शाते थे कि "यह अनुरोध पहले ही संसाधित हो चुका है"। यह दृष्टिकोण व्यावहारिक था और middleware पाइपलाइन के भीतर अनंत लूप से बचाता था।

  2. Middleware का विकास और पेलोड (payloads) Next.js 12.2 से पहले, middleware pages/ के अंदर _middleware के रूप में स्थित होते थे और नेस्टेड हो सकते थे (pages/_middleware, pages/dashboard/_middleware आदि)। Payload किसी विशिष्ट पथ को इंगित कर सकता था (x-middleware-subrequest: pages/dashboard/_middleware)। 12.2 से, middleware का नामकरण middleware.js/ts हो गया और वे pages/ में नहीं रहे। इस मामले में, सरल payload x-middleware-subrequest: middleware (या src/middleware जब src/ उपयोग में हो) अक्सर काम करता था। बाद के संस्करणों (≥ 13.2.0) ने अतिरिक्त जाँचें शुरू कीं, जिनमें MAX_RECURSION_DEPTH शामिल है; कुछ बाईपास तकनीकों में नेस्टेड चेन का अनुकरण करने के लिए middleware:middleware:... जैसे दोहराए जाने वाले मान उपयोग किए गए। व्यवहार में: payload का सटीक प्रारूप Next.js के संस्करण और प्रोजेक्ट संरचना पर निर्भर करता है।

  3. फिक्स का इतिहास और x-middleware-subrequest-id की समस्या प्रारंभिक त्वरित पैच में एक आंतरिक पहचानकर्ता — x-middleware-subrequest-id — का विचार शामिल था, जो वैध आंतरिक subrequests को नकली से अलग करने के लिए रनटाइम पर उत्पन्न और सत्यापित किया जाता था। हालाँकि, कार्यान्वयन ने एक दुष्प्रभाव दिखाया: यह आंतरिक ID बाहर लीक हो सकता था (आउटगोइंग fetch/अनुरोधों में जाकर), जिससे एक नया जोखिम पैदा होता था। इसके अलावा, कई CDN/PoP और मिश्रित रनटाइम्स (Edge vs Node) की स्थितियों में पहचानकर्ताओं की सिग्नेचर/सिंक्रोनाइज़ेशन अविश्वसनीय साबित हुई। परिणामस्वरूप, x-middleware-subrequest-id वाला कोड हटा दिया गया/फिर से तैयार किया गया; अंतिम समाधान — Next.js में पैच और प्लेटफ़ॉर्म-स्तरीय mitigations का संयोजन (ingress/edge स्तर पर आने वाले internal-हेडरों का फ़िल्टरिंग)।


संक्षिप्त विवरण

  • CVE: CVE-2025-29927
  • उत्पाद: Next.js (Vercel)
  • संक्षेप में: प्राधिकरण लागू करने वाला middleware आंतरिक फ़्लैग x-middleware-subrequest पर गलत तरीके से भरोसा करता है। बाहरी क्लाइंट यह हेडर सेट कर सकता है और एक्सेस जाँचों को बायपास कर सकता है।
  • NVD प्रकाशन तिथि: 21 मार्च 2025
  • CNA: GitHub, Inc.

कमजोरी का विवरण

  • विवरण: त्रुटि यह है कि Next.js में middleware एक्सेस निर्णय लेते समय आंतरिक मार्कर x-middleware-subrequest पर निर्भर करता है। यह फ़ील्ड मूल रूप से फ्रेमवर्क के आंतरिक संचालन के लिए थी, लेकिन बाहरी अनुरोध यह हेडर सेट कर सकते हैं, जिससे प्राधिकरण को बायपास किया जा सकता है।
  • कमजोरी का कारण: गलत/असुरक्षित प्राधिकरण तर्क — आने वाले हेडर पर भरोसा।
  • शोषण की शर्तें: वेब एप्लिकेशन प्राधिकरण के लिए केवल middleware का उपयोग करता है; एप्लिकेशन Next.js के संवेदनशील संस्करणों का उपयोग करता है।

CWE Weakness Enumeration

  • CWE-863: Incorrect Authorization — प्राथमिक
    • साक्ष्य: middleware 'x-middleware-subrequest' हेडर पर भरोसा करता था और अतिरिक्त सत्यापन के बिना अनुरोधों को पारित कर देता था।
  • CWE-285: Improper Authorization — द्वितीयक
    • साक्ष्य: internal-only flow के लिए विश्वसनीय प्रमाणीकरण/प्राधिकरण का अभाव।

प्रभाव और अतिरिक्त जोखिम

  • प्रभाव: प्राधिकरण बाईपास निजी पृष्ठों/डेटा तक पहुंच देता है, एस्केलेशन की संभावना (एप्लिकेशन के आधार पर), उपयोगकर्ता डेटा से समझौता।
  • अतिरिक्त जोखिम: CPDoS (Cache-Poisoned DoS): कमजोरी CDN/edge कैश में हेरफेर की अनुमति दे सकती है (उदाहरण के लिए, यदि आंतरिक subrequests संसाधनों को निजी/सार्वजनिक के रूप में चिह्नित करते हैं), जिससे कैश पॉइज़निंग और संभावित डाउनटाइम या डेटा प्रकटीकरण हो सकता है।
  • परिणामों के उदाहरण: PII का रिसाव, बिज़नेस लॉजिक का बाईपास, समझौता किए गए सत्र, एप्लिकेशन रूटिंग में हस्तक्षेप।

प्रभावित संस्करण

निम्नलिखित संस्करण श्रेणियाँ संवेदनशील हैं:

  • >= 11.1.4 और < 12.3.5
  • >= 13.0.0 और < 13.5.9
  • >= 14.0.0 और < 14.2.25
  • >= 15.0.0 और < 15.2.3

CVSS और मेट्रिक्स

  • Base Score: 9.1 (CRITICAL)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
  • Temporal: E:P (PoC) * RL:O (आधिकारिक फिक्स) * RC:C (पुष्टि) = 8.2 (अनुमानित Temporal Score)।

PoC — स्थानीय रूप से सुरक्षित पुनरुत्पादन

  1. संवेदनशील डेमो चालू करें:
git clone https://github.com/<author>/vulnerable-nextjs-demo.git
cd vulnerable-nextjs-demo
npm install
npm run dev
  1. सरल read-only PoC (curl):
# без заголовка — ожидаем отказ (302/307/401/403)
curl -si http://localhost:3000/protected | head -n 20

# с поддельным заголовком — если уязвимо, вернёт 200 + тело
curl -si -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \ http://localhost:3000/protected | head -n 20

Nuclei, Python से बड़े पैमाने पर जाँच

Nuclei

  • Passive template: फ़िंगरप्रिंट जाँच (/_next/static/, package.json, headers, favicon hash) — सुरक्षित मोड।
  • Active template: x-middleware-subrequest के साथ GET भेजता है और प्रतिक्रिया की तुलना करता है। अनिवार्य रूप से rate-limit और throttle उपयोग करें।

चलाने के लिए कमांड (उदाहरण):

# passive
nuclei -t cves/2025/CVE-2025-29927-passive.yaml -l targets.txt

# active (контролируемо)
nuclei -t cves/2025/CVE-2025-29927-active.yaml -l targets.txt -c 10 -rate-limit 20

Python-स्कैनर (आर्किटेक्चर)

  • एल्गोरिदम: प्रत्येक होस्ट के लिए आधार प्रतिक्रिया प्राप्त करें (बिना हेडर के) → x-middleware-subrequest हेडर के साथ दोहराएँ → स्थिति और बॉडी की तुलना करें।
  • अनिवार्य विकल्प: --concurrency, --delay, --dry-run, --respect-robots।
  • उच्च प्रदर्शन के लिए aiohttp / asyncio उपयोग करें।

संक्षिप्त स्यूडोकोड:

टूल डाउनलोड करें