
React Server Components में CVE-2025-55182 (React2Shell) RCE भेद्यता का पता लगाएं। तेज़, सटीक स्कैनर जिसमें शून्य गलत सकारात्मक परिणाम (false positives) आते हैं।
React Server Components में CVSS 10.0 RCE। क्या आपका React 19 ऐप असुरक्षित है?
CVE-2025-55182 (React2Shell) के लिए तेज़, सटीक स्कैनर - एक गंभीर रिमोट कोड निष्पादन कमजोरी जिसका वास्तविक दुनिया में शोषण किया जा रहा है। बुद्धिमान Server Components पहचान के साथ शून्य गलत सकारात्मक परिणाम।
React2Shell, React Server Components में अधिकतम गंभीरता (10.0 CVSS) वाली एक कमजोरी है जो बिना प्रमाणीकरण के रिमोट कोड निष्पादन की अनुमति देती है। हमलावर Server Function एंडपॉइंट्स पर विशेष रूप से तैयार किए गए HTTP अनुरोधों के माध्यम से इसका शोषण कर सकते हैं।
मुख्य तथ्य:
⚠️ महत्वपूर्ण नोट: केवल React 19.x असुरक्षित है। React 18.x और उससे पुराने संस्करण प्रभावित नहीं हैं।
# Option A: Node.js scanner (recommended - cross-platform, no dependencies)
npx react2shell-scanner /path/to/your/project
# Option B: Direct download and run
curl -sSL https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js > scan.js
node scan.js /path/to/your/project
# Option C: Clone and run
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
node scan.js /path/to/your/project
परिणाम सेकंडों में: 🚨 असुरक्षित | ⚠️ चेतावनियाँ | ✅ सुरक्षित
यह टूल बुद्धिमान कमजोरी पहचान करता है:
'use server' निर्देशों के लिए स्कैन करता हैReact:
19.0.0, 19.1.0, 19.1.1, 19.2.0React Server DOM Packages:
react-server-dom-webpack 19.0.0 - 19.2.0react-server-dom-parcel 19.0.0 - 19.2.0react-server-dom-turbopack 19.0.0 - 19.2.0Next.js:
14.0.0 से 14.2.3414.3.0-canary.0 से 14.3.0-canary.8715.0.0 से 15.0.615.1.0 से 15.1.815.2.0 से 15.2.515.3.0 से 15.3.515.4.0 से 15.4.715.5.0 से अतिरिक्त प्रभावित फ्रेमवर्क (React आधिकारिक सलाह के अनुसार):
react-router 7.0.0 - 7.1.3waku 0.21.0 - 0.21.5@parcel/rsc 2.12.0 - 2.13.2@vitejs/plugin-rsc 0.1.0 - 0.2.0rwsdk (Redwood SDK) 0.1.0 - 0.4.0expo 52.0.0 - 52.0.9React: 19.2.1 या बाद का
Next.js:
14.2.35+, 14.3.0-canary.88+15.0.7+, 15.1.9+, 15.2.6+, 15.3.6+, 15.4.8+, 15.5.7+16.0.10+अन्य फ्रेमवर्क:
react-router: 7.1.4+waku: 0.21.6+@parcel/rsc: 2.13.3+@vitejs/plugin-rsc: 0.2.1+rwsdk: 0.4.1+expo: 52.0.10+Node.js स्कैनर (अनुशंसित):
Bash स्कैनर:
# Install jq (if using Bash scanner)
# macOS
brew install jq
# Ubuntu/Debian
sudo apt-get install jq
# RHEL/CentOS
sudo yum install jq
विकल्प A: क्लोन करें (उपयोगकर्ताओं के लिए अनुशंसित)
# Clone the repository
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
# Make scripts executable
chmod +x scan.sh scan.js
विकल्प B: फ़ोर्क करें (योगदानकर्ताओं के लिए अनुशंसित)
# Fork on GitHub (click "Fork" button on repository page)
# Then clone your fork
git clone https://github.com/YOUR_USERNAME/react2shell-scanner.git
cd react2shell-scanner
# Make scripts executable
chmod +x scan.sh scan.js
# Add upstream remote to stay updated
git remote add upstream https://github.com/nxgn-kd01/react2shell-scanner.git
विकल्प C: सीधा डाउनलोड
# Node.js version (recommended - cross-platform)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js
chmod +x scan.js
# Bash version (Unix/Linux/macOS only)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.sh
chmod +x scan.sh
🔍 वर्तमान डायरेक्टरी स्कैन करें:
# Using Node.js (recommended)
node scan.js
# Using Bash
./scan.sh
📁 विशिष्ट प्रोजेक्ट स्कैन करें:
node scan.js /path/to/project
./scan.sh /path/to/project
🗂️ रिकर्सिव स्कैन (सभी उप-डायरेक्टरी):
node scan.js -r
./scan.sh -r
JSON आउटपुट (स्वचालन के लिए):
node scan.js --json
./scan.sh --json
CI/CD मोड (असुरक्षित होने पर कोड 1 के साथ बाहर निकलता है):
node scan.js --ci
./scan.sh --ci
विस्तृत आउटपुट:
node scan.js -v
./scan.sh -v
विकल्पों को संयोजित करें:
node scan.js /path/to/projects -r --json --ci
./scan.sh /path/to/projects -r --json --ci
| कोड | अर्थ |
|---|---|
| 0 | कोई कमजोरी नहीं मिली |
| 1 | कमजोरियाँ मिलीं (--ci फ्लैग उपयोग करने पर) |
| 2 | स्कैन त्रुटि हुई |
$ node scan.js ~/my-react-app
╔════════════════════════════════════════════════════════════╗
║ CVE-2025-55182 Scanner (React2Shell) ║
╚════════════════════════════════════════════════════════════╝
Severity: CRITICAL (CVSS 10.0)
Description: Unauthenticated RCE in React Server Components
Scan Summary:
Total projects: 1
Vulnerable: 1
Safe: 0
⚠ VULNERABLE PROJECTS FOUND:
1. /Users/user/my-react-app
└─ react 19.0.0 → 19.2.1
└─ next 15.0.3 → 15.0.5
Fix command:
$ cd /Users/user/my-react-app
$ npm install [email protected] [email protected]
$ node scan.js ~/projects -r --json > results.json
{
"vulnerability": "CVE-2025-55182",
"severity": "CRITICAL",
"cvss": 10.0,
"scanned": 5,
"vulnerable": 2,
"results": [
{
"path": "/Users/user/projects/app1",
"vulnerable": true,
"packages": [
{
"name": "react",
"version": "19.0.0",
"fixVersion": "19.2.1"
}
],
"packageManager": "npm",
"fixCommands": [
"cd /Users/user/projects/app1",
"npm install [email protected]"
]
}
]
}
.github/workflows/security-scan.yml
name: CVE-2025-55182 Security Scan
on: [push, pull_request]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Download CVE-2025-55182 Scanner
run: |
curl -O https://raw.githubusercontent.com/nxgn-kd01/cve-2025-55182-scanner/main/scan.js
chmod +x scan.js
- name: Scan for vulnerabilities
run: node scan.js --ci
GitLab CI (.gitlab-ci.yml)
security-scan:
stage: test
image: node:18
script:
- curl -O https://raw.githubusercontent.com/nxgn-kd01/cve-2025-55182-scanner/main/scan.js
- chmod +x scan.js
- node scan.js --ci
allow_failure: false
स्कैनर निम्नलिखित जाँचें करता है:
package.json फ़ाइलें ढूँढकरdependencies और devDependencies दोनों से'use server' निर्देशों की तलाश करके'use server' निर्देशों की उपस्थिति (Server Functions के उपयोग का संकेत)स्कैनर में गलत सकारात्मक परिणाम रोकने के लिए बुद्धिमान पहचान शामिल है:
output: 'export' उपयोग करने वाले प्रोजेक्ट्स को संभवतः सुरक्षित चिह्नित किया जाता है'use server' निर्देशों को स्कैन करता हैउदाहरण आउटपुट:
✓ No vulnerable projects found
ℹ Projects with analysis notes:
1. /path/to/project
ℹ Next.js ^15.1.3 is in vulnerable range, but using React 18 (safe - only React 19 affected)
2. /path/to/another-project
ℹ Next.js 16.0.5 with React 19 detected, but no 'use server' directives found (likely safe).
Note: dynamically imported Server Functions require manual review.
node scan.js -r
प्रत्येक असुरक्षित प्रोजेक्ट के लिए, सुझाया गया फिक्स कमांड चलाएँ:
cd /path/to/project
npm install [email protected] [email protected] # Example
या yarn के साथ:
yarn upgrade [email protected] [email protected]
या pnpm के साथ:
pnpm update [email protected] [email protected]
npm test
npm run build
node scan.js --ci
उत्तर: फिलहाल, स्कैनर package.json में प्रत्यक्ष निर्भरताओं की जाँच करता है। गहन निर्भरता स्कैनिंग के लिए, इस टूल के साथ npm audit या yarn audit का उपयोग करें।
उत्तर: नहीं, React 18 प्रभावित नहीं है ✅
CVE-2025-55182 केवल React 19.x Server Components को प्रभावित करता है। स्कैनर React 18 ऐप्स को सुरक्षित के रूप में सही ढंग से पहचानेगा, भले ही वे असुरक्षित रेंज में आने वाले Next.js 15.x या 16.x संस्करणों का उपयोग कर रहे हों।
उत्तर: हाँ! कमजोरियाँ मिलने पर स्कैनर को कोड 1 के साथ बाहर निकालने के लिए --ci फ्लैग का उपयोग करें, जिससे आपकी पाइपलाइन विफल हो जाएगी। ऊपर CI/CD एकीकरण उदाहरण देखें।
उत्तर: अस्थायी शमन उपाय (अपग्रेड करना ही एकमात्र निश्चित समाधान है):
⚠️ महत्वपूर्ण: ये केवल अस्थायी उपाय हैं। जल्द से जल्द पैच किए गए संस्करणों में अपग्रेड करें।
उत्तर: बहुत सटीक बुद्धिमान गलत सकारात्मक रोकथाम के साथ:
'use server' निर्देशों को स्कैन करता हैउत्तर: स्कैनर आपकी सोर्स फ़ाइलों में 'use server' निर्देशों का पता लगाता है। हालाँकि, डायनामिक रूप से आयातित Server Functions (import() के माध्यम से रनटाइम पर लोड किए गए) स्टैटिक रूप से पहचाने नहीं जा सकते। यदि स्कैनर रिपोर्ट करता है कि "कोई 'use server' निर्देश नहीं मिला" लेकिन आप Server Functions के लिए डायनामिक इम्पोर्ट का उपयोग करते हैं, तो आपको उन फ़ाइलों की मैन्युअल समीक्षा करनी चाहिए। स्कैनर एक नोट शामिल करेगा जो आपको इसकी याद दिलाएगा।
योगदान का स्वागत है! कृपया बेझिझक issues या pull requests सबमिट करें।
# Test on sample projects
./test-scanner.sh
यह स्कैनर अब React आधिकारिक सलाह के अनुसार सभी प्रमुख RSC-सक्षम फ्रेमवर्क का पता लगाता है:
अतिरिक्त फ्रेमवर्क के लिए, कृपया एक issue खोलें या PR सबमिट करें।
MIT लाइसेंस - विवरण के लिए LICENSE फ़ाइल देखें
यह टूल समुदाय के लिए असुरक्षित प्रोजेक्ट्स की पहचान में मदद करने हेतु यथावत (as-is) प्रदान किया गया है। प्रोडक्शन में तैनात करने से पहले हमेशा स्कैनर परिणाम सत्यापित करें और अपडेट्स का सुरक्षित वातावरण में परीक्षण करें।
यदि आपको यह टूल उपयोगी लगता है, तो कृपया:
सुरक्षित रहें और अपनी निर्भरताओं को अपडेट रखें!
| गुण | मान |
|---|
| CVE ID | CVE-2025-55182 |
| नाम | React2Shell |
| CVSS स्कोर | 10.0 (गंभीर) |
| CVSS वेक्टर | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| हमला वेक्टर | नेटवर्क |
| प्रमाणीकरण | कोई आवश्यक नहीं |
| प्रभाव | पूर्ण सिस्टम समझौता |
15.5.616.0.0 से 16.0.9| विकल्प | विवरण |
|---|
-r, --recursive | Node.js प्रोजेक्ट्स के लिए सभी उप-डायरेक्टरी स्कैन करें |
-v, --verbose | विस्तृत आउटपुट दिखाएँ |
--json | परिणाम JSON के रूप में आउटपुट करें |
--ci | कमजोरियाँ मिलने पर कोड 1 के साथ बाहर निकलें (CI/CD के लिए) |
-h, --help | सहायता संदेश दिखाएँ |