
CVE-2025-55182 (React Server Components RCE) के लिए एक गैर-हस्तक्षेपकारी सतह स्कैनर। React 19 और Next.js एप्लिकेशन में उजागर RSC एंडपॉइंट्स का पता लगाता है।
CVE-2025-55182 (React Server Components RCE) के लिए एक विशेष, गैर-आक्रामक सरफेस डिटेक्टर।

स्कैन करने से पहले यह पढ़ें:
जबकि CVE-2025-55182 एक क्रिटिकल RCE भेद्यता (CVSS 10.0) है, Next.js उत्पादन वातावरण में वास्तविक दुनिया का शोषण सशर्त है।
serverManifest का उपयोग करता है। RSC के माध्यम से खतरनाक मॉड्यूल (जैसे child_process) को लोड करने के सीधे प्रयास अक्सर विफल होते हैं क्योंकि वे इस मेनिफेस्ट में नहीं होते हैं।serverManifest को ओवरराइट किया जा सके और व्हाइटलिस्ट को बायपास किया जा सके।"vm" के बजाय 742)। नामों का अनुमान लगाने वाले कठोर शोषण विफल होंगे (गलत नकारात्मक)।यह उपकरण एक सरफेस डिटेक्टर है। यह पहचानता है कि RSC प्रोटोकॉल उजागर और सक्रिय है या नहीं। उजागर एंडपॉइंट ढूंढना उस आक्रमण सतह की पहचान करने का पूर्वापेक्षा कदम है जहां प्रोटोटाइप प्रदूषण श्रृंखला का प्रयास किया जा सकता है।
अधिकांश सार्वजनिक PoC और स्कैनर उत्पादन वातावरण में गलत नकारात्मक परिणाम देते हैं क्योंकि वे चार सामान्य जाल में फंस जाते हैं:
शोषण कठोरता: वे विशिष्ट गैजेट्स (जैसे vm या child_process) को निष्पादित करने का प्रयास करते हैं जो व्हाइटलिस्ट द्वारा अवरुद्ध होते हैं, या हार्डकोडेड आईडी (जैसे, "id":"vm") पर निर्भर होते हैं जो मिनिफाइड Webpack बिल्ड के विरुद्ध विफल होती हैं।
रूट रीडायरेक्ट: Next.js पर POST / को हिट करने से अक्सर 307/308 रीडायरेक्ट होता है (जैसे, /login पर), जिससे POST बॉडी खो जाती है या सर्वर द्वारा प्रोसेस करने से पहले GET में बदल जाती है।
परिवहन बेमेल: कई स्कैनर पेलोड को text/plain या कच्चे JSON के रूप में भेजते हैं। सख्त Next.js सर्वर एक्शन को अक्सर multipart/form-data एनकैप्सुलेशन की आवश्यकता होती है। यदि प्रारूप गलत है, तो सर्वर कमजोर पार्सर को ट्रिगर किए बिना 404/200 लौटाता है।
WAF अंधापन: मानक उपकरण 403 फॉरबिडन देखते हैं और हार मान लेते हैं। वे वैश्विक आईपी ब्लॉक और विशिष्ट नियम फ़िल्टर के बीच अंतर करने में विफल रहते हैं, जिससे एन्कोडिंग या पैडिंग तकनीकों का उपयोग करके WAF को बायपास करने के अवसर चूक जाते हैं।
यह स्कैनर तीनों चुनौतियों को हल करता है:
✅ स्मार्ट पथ प्रोबिंग: रूट रीडायरेक्ट (307/308) को बायपास करने और Next.js App Router को अनुरोध संदर्भ को संसाधित करने के लिए मजबूर करने के लिए स्वचालित रूप से यादृच्छिक गैर-मौजूद पथों (जैसे, /x7z9q2) की जांच करता है।
✅ सख्त परिवहन (मल्टीपार्ट): सादे पाठ के बजाय multipart/form-data एनकैप्सुलेशन का उपयोग करता है। यह सख्त सर्वर एक्शन एंडपॉइंट पर गलत नकारात्मक को हल करता है जो अन्यथा 404 लौटाते हैं।
✅ WAF विभेदक विश्लेषण: वैश्विक ब्लॉक ([BLOCKED]) और विशिष्ट नियम फ़िल्टरिंग ([FILTERED]) के बीच अंतर करता है। यदि बैकएंड प्रोटोकॉल की अनुमति देता है लेकिन पेलोड को ब्लॉक करता है, तो स्कैनर इसे उच्च-मूल्य वाले लक्ष्य के रूप में पहचानता है।
✅ ऑटो-बायपास मोड: इसमें एक वैकल्पिक --bypass इंजन शामिल है जो [FILTERED] लक्ष्यों के विरुद्ध स्वचालित रूप से चोरी तकनीकों (Unicode एस्केप, व्हाइटस्पेस म्यूटेशन, जंक पैडिंग) का प्रयास करता है।
✅ कठोर पहचान: एंटरप्राइज सर्वर पर "साइलेंट क्रैश" ([SUSPICIOUS]) को पकड़ता है जो X-Powered-By हेडर को हटाते हैं, और Assetnote 303 See Other रीडायरेक्ट फिंगरप्रिंट की पहचान करता है।
✅ सक्रिय फिंगरप्रिंटिंग: अद्वितीय React 19 RSC "डाइजेस्ट" त्रुटि को ट्रिगर करने के लिए एक विशेष पेलोड (["$1:aa:aa"]) का उपयोग करता है, जो पूर्ण RCE के बिना भी पार्सर के सक्रिय होने की पुष्टि करता है।
रिपॉजिटरी को क्लोन करें:
git clone https://github.com/fatguru/CVE-2025-55182-scanner.git
cd CVE-2025-55182-scanner
निर्भरताएं स्थापित करें (वर्चुअल एनवायरनमेंट में अनुशंसित):
pip install -r requirements.txt
बुनियादी स्कैन
एकल URL की जांच करें। ध्यान दें: सुनिश्चित करें कि आप सही एप्लिकेशन पथ (जैसे, /dashboard, /login) पर इंगित कर रहे हैं, न कि केवल रूट डोमेन पर, क्योंकि Next.js App Router एंडपॉइंट पथ-विशिष्ट होते हैं।
python3 cve_2025_55182_scanner.py -u http://localhost:3000/dashboard
बल्क स्कैन
एक फ़ाइल से URL की सूची स्कैन करें (प्रति पंक्ति एक URL)। विशिष्ट पथों को खोने से बचने के लिए यह अनुशंसित रणनीति है।
python3 cve_2025_55182_scanner.py -l targets.txt -o results.csv
SSL/TLS प्रमाणपत्र त्रुटियों को अनदेखा करें (आईपी-आधारित स्कैनिंग, स्थानीय लैब, या स्व-हस्ताक्षरित प्रमाणपत्रों के लिए उपयोगी)।
python3 cve_2025_55182_scanner.py -u https://192.168.1.50 -k
v2.1 में नया: यदि ऐप प्रमाणीकरण के पीछे है या WAF को विशिष्ट हेडर की आवश्यकता है, तो सत्र कुकी या टोकन पास करने के लिए --header फ्लैग का उपयोग करें।
python3 cve_2025_55182_scanner.py -u https://target.com --header "Cookie: session=123" --header "Authorization: Bearer xyz"
| फ्लैग | विवरण |
|---|---|
-u, --url | एकल लक्ष्य URL (जैसे, http://target.com/dashboard). |
-l, --list | स्कैन करने के लिए URL की सूची वाली फ़ाइल (प्रति पंक्ति एक). |
--bypass | (नया v2.5) WAF चोरी मोड सक्षम करें। यदि लक्ष्य [FILTERED] के रूप में पहचाना जाता है तो स्वचालित रूप से म्यूटेशन तकनीकों (Unicode, पैडिंग, व्हाइटस्पेस) का प्रयास करता है। |
--header | कस्टम हेडर जोड़ें (जैसे, Cookie: session=xyz, Authorization: Bearer...)। एकाधिक बार उपयोग किया जा सकता है। |
-o, --output | परिणामों को टेक्स्ट फ़ाइल में सहेजें। |
-k, --insecure | TLS प्रमाणपत्र सत्यापन अक्षम करें (SSL चेतावनियों को दबाएं). |
-t, --threads | बल्क स्कैनिंग के लिए समवर्ती थ्रेड्स की संख्या (डिफ़ॉल्ट: 10). |
--timeout | अनुरोध टाइमआउट सेकंड में (डिफ़ॉल्ट: 10s मल्टीपार्ट पेलोड को समायोजित करने के लिए). |
--verbose | डीबग मोड सक्षम करें। विस्तृत प्रोबिंग चरण, WAF ब्लॉकिंग स्थिति और बायपास प्रयास दिखाता है। |
[EXPOSED] | 🔴 (लाल) | असुरक्षित
सर्वर ने पेलोड को संसाधित किया और React 19 डाइजेस्ट त्रुटि या एक्शन रीडायरेक्ट (303) लौटाया। उजागर सतह का उच्च विश्वास।
[BYPASSED] | 🟠 (नारंगी) | WAF बायपास
सफलता! स्कैनर ने शुरू में एक फ़िल्टर का पता लगाया, लेकिन भेद्यता को ट्रिगर करने के लिए म्यूटेशन तकनीकों (जैसे, पैडिंग/Unicode) का उपयोग करके सफलतापूर्वक उसे बायपास कर दिया।
[SUSPICIOUS] | 🟡 (पीला) | चेतावनी
पेलोड पार्स करते समय सर्वर क्रैश (500) हुआ। X-Powered-By हेडर हटाने वाले कठोर लक्ष्यों पर भी उजागर सीरियलाइज़ेशन लॉजिक को इंगित करता है।
[FILTERED] | 🔵 (नीला) | WAF नियम का पता चला
सर्वर RSC ट्रैफ़िक स्वीकार करता है (हानिरहित पेलोड पास हुआ), लेकिन एक विशिष्ट WAF नियम ने एक्सप्लॉइट पेलोड को ब्लॉक कर दिया। लक्ष्य WAF के पीछे जीवित है। चोरी का प्रयास करने के लिए --bypass का उपयोग करें।
[INFO] | 🔵 (सियान) | प्रोटोकॉल का पता चला
सर्वर RSC (text/x-component) बोलता है लेकिन पेलोड को शालीनता से संभाला। संभवतः पैच किया गया या मानक व्यवहार।
[BLOCKED] | 🟣 (मैजेंटा) | वैश्विक WAF ब्लॉक
सब कुछ ब्लॉक कर दिया गया (403/406), जिसमें हानिरहित हैंडशेक भी शामिल है। WAF प्रोटोकॉल को पूरी तरह से ब्लॉक कर रहा है या आपका आईपी।
[SAFE] | 🟢 (हरा) | सुरक्षित
सर्वर ने सभी जांचे गए पथों पर RSC हेडर/मल्टीपार्ट बॉडी को अनदेखा करते हुए 404/200 लौटाया।
इस डिटेक्शन लॉजिक पर आधारित एक न्यूक्ली टेम्पलेट इस रिपॉजिटरी में शामिल है: cve-2025-55182-detection.yaml.
nuclei -t cve-2025-55182-detection.yaml -l targets.txt