
Erkennen Sie die CVE-2025-55182 (React2Shell) RCE-Sicherheitslücke in React Server Components. Schneller, genauer Scanner ohne Fehlalarme.
CVSS 10.0 RCE in React Server Components. Ist Ihre React 19 App verwundbar?
Schneller, genauer Scanner für CVE-2025-55182 (React2Shell) – eine kritische Remote-Codeausführungssicherheitslücke, die in freier Wildbahn ausgenutzt wird. Null Fehlalarme durch intelligente Erkennung von Server-Komponenten.
React2Shell ist eine Sicherheitslücke mit maximalem Schweregrad (10.0 CVSS) in React Server-Komponenten, die eine nicht authentifizierte Remote-Codeausführung ermöglicht. Angreifer können dies durch speziell gestaltete HTTP-Anfragen an Server-Funktionsendpunkte ausnutzen.
Wichtige Fakten:
⚠️ Wichtiger Hinweis: Nur React 19.x ist verwundbar. React 18.x und älter sind NICHT betroffen.
# Option A: Node.js-Scanner (empfohlen – plattformübergreifend, keine Abhängigkeiten)
npx react2shell-scanner /path/to/your/project
# Option B: Direkter Download und Ausführung
curl -sSL https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js > scan.js
node scan.js /path/to/your/project
# Option C: Klonen und ausführen
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
node scan.js /path/to/your/project
Ergebnisse in Sekunden: 🚨 Verwundbar | ⚠️ Warnungen | ✅ Sicher
Dieses Tool führt eine intelligente Sicherheitslückenerkennung durch:
'use server'-Direktiven'use server'-DirektivenReact:
19.0.0, 19.1.0, 19.1.1, 19.2.0React Server DOM Pakete:
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 bis 14.2.3414.3.0-canary.0 bis 14.3.0-canary.8715.0.0 bis 15.0.615.1.0 bis 15.1.815.2.0 bis 15.2.515.3.0 bis 15.3.515.4.0 bis 15.4.715.5.0 bis Zusätzlich betroffene Frameworks (laut offizieller React-Advisory):
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 oder neuer
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+Andere Frameworks:
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 Scanner (Empfohlen):
Bash Scanner:
# jq installieren (falls Bash Scanner verwendet wird)
# macOS
brew install jq
# Ubuntu/Debian
sudo apt-get install jq
# RHEL/CentOS
sudo yum install jq
Option A: Klonen (Empfohlen für Benutzer)
# Repository klonen
git clone https://github.com/nxgn-kd01/react2shell-scanner.git
cd react2shell-scanner
# Skripte ausführbar machen
chmod +x scan.sh scan.js
Option B: Fork (Empfohlen für Mitwirkende)
# Auf GitHub forken ("Fork"-Button auf der Repository-Seite klicken)
# Dann eigenen Fork klonen
git clone https://github.com/DEIN_BENUTZERNAME/react2shell-scanner.git
cd react2shell-scanner
# Skripte ausführbar machen
chmod +x scan.sh scan.js
# Upstream-Remote hinzufügen, um auf dem neuesten Stand zu bleiben
git remote add upstream https://github.com/nxgn-kd01/react2shell-scanner.git
Option C: Direkter Download
# Node.js Version (empfohlen – plattformübergreifend)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.js
chmod +x scan.js
# Bash Version (nur Unix/Linux/macOS)
curl -O https://raw.githubusercontent.com/nxgn-kd01/react2shell-scanner/main/scan.sh
chmod +x scan.sh
🔍 Aktuelles Verzeichnis scannen:
# Mit Node.js (empfohlen)
node scan.js
# Mit Bash
./scan.sh
📁 Bestimmtes Projekt scannen:
node scan.js /path/to/project
./scan.sh /path/to/project
🗂️ Rekursiver Scan (alle Unterverzeichnisse):
node scan.js -r
./scan.sh -r
JSON-Ausgabe (für Automatisierung):
node scan.js --json
./scan.sh --json
CI/CD-Modus (beendet mit Code 1, wenn verwundbar):
node scan.js --ci
./scan.sh --ci
Ausführliche Ausgabe:
node scan.js -v
./scan.sh -v
Optionen kombinieren:
node scan.js /path/to/projects -r --json --ci
./scan.sh /path/to/projects -r --json --ci
| Code | Bedeutung |
|---|---|
| 0 | Keine Schwachstellen gefunden |
| 1 | Schwachstellen gefunden (bei Verwendung des --ci-Flags) |
| 2 | Scan-Fehler aufgetreten |
$ 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
Der Scanner führt die folgenden Prüfungen durch:
package.json-Dateiendependencies als auch aus devDependencies'use server'-Direktiven in Quelldateien'use server'-Direktiven (zeigt Verwendung von Server-Funktionen an)Der Scanner enthält eine intelligente Erkennung zur Vermeidung von Fehlalarmen:
output: 'export' verwenden, werden als wahrscheinlich sicher markiert'use server'-Direktiven, um die tatsächliche Verwendung von Server-Komponenten zu bestätigenBeispielausgabe:
✓ 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
Für jedes verwundbare Projekt den vorgeschlagenen Reparaturbefehl ausführen:
cd /path/to/project
npm install [email protected] [email protected] # Beispiel
Oder mit yarn:
yarn upgrade [email protected] [email protected]
Oder mit pnpm:
pnpm update [email protected] [email protected]
npm test
npm run build
node scan.js --ci
A: Derzeit überprüft der Scanner direkte Abhängigkeiten in package.json. Für tiefgehendes Abhängigkeitsscannen verwenden Sie npm audit oder yarn audit in Kombination mit diesem Tool.
A: Nein, React 18 ist NICHT betroffen ✅
CVE-2025-55182 betrifft nur React 19.x Server-Komponenten. Der Scanner wird React 18-Apps korrekt als sicher identifizieren, selbst wenn sie Next.js 15.x oder 16.x Versionen verwenden, die im verwundbaren Bereich liegen.
A: Ja! Verwenden Sie das --ci-Flag, damit der Scanner mit Code 1 beendet wird, wenn Schwachstellen gefunden werden, was Ihre Pipeline fehlschlagen lässt. Siehe Beispiele zur CI/CD-Integration oben.
A: Temporäre Maßnahmen (Aktualisierung ist die einzige endgültige Lösung):
⚠️ Kritisch: Dies sind nur temporäre Maßnahmen. Aktualisieren Sie so schnell wie möglich auf gepatchte Versionen.
A: Sehr genau mit intelligenter Vermeidung von Fehlalarmen:
'use server'-Direktiven, um tatsächliche Schwachstelle zu bestätigenA: Der Scanner erkennt 'use server'-Direktiven in Ihren Quelldateien. Dynamisch importierte Server-Funktionen (die zur Laufzeit über import() geladen werden) können jedoch möglicherweise nicht statisch erkannt werden. Wenn der Scanner "keine 'use server'-Direktiven gefunden" meldet, Sie aber dynamische Importe für Server-Funktionen verwenden, sollten Sie diese Dateien manuell überprüfen. Der Scanner wird einen entsprechenden Hinweis einfügen.
Beiträge sind willkommen! Bitte reichen Sie gerne Issues oder Pull Requests ein.
# Test an Beispielprojekten
./test-scanner.sh
Dieser Scanner erkennt nun alle wichtigen RSC-fähigen Frameworks gemäß der offiziellen React-Advisory:
Für zusätzliche Frameworks öffnen Sie bitte ein Issue oder reichen Sie einen PR ein.
MIT-Lizenz – siehe LICENSE-Datei für Details
Dieses Tool wird so wie es ist für die Community bereitgestellt, um bei der Identifizierung verwundbarer Projekte zu helfen. Überprüfen Sie immer die Scannerergebnisse und testen Sie Updates in einer sicheren Umgebung, bevor Sie sie in der Produktion einsetzen.
Wenn Sie dieses Tool hilfreich finden, bitte:
Bleiben Sie sicher und halten Sie Ihre Abhängigkeiten auf dem neuesten Stand!
| Eigenschaft | Wert |
|---|
| CVE-ID | CVE-2025-55182 |
| Name | React2Shell |
| CVSS-Score | 10.0 (KRITISCH) |
| CVSS-Vektor | AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Angriffsvektor | Netzwerk |
| Authentifizierung | Keine erforderlich |
| Auswirkung | Vollständige Systemkompromittierung |
15.5.616.0.0 bis 16.0.9| Option | Beschreibung |
|---|
-r, --recursive | Alle Unterverzeichnisse nach Node.js-Projekten durchsuchen |
-v, --verbose | Detaillierte Ausgabe anzeigen |
--json | Ergebnisse als JSON ausgeben |
--ci | Mit Code 1 beenden, wenn Schwachstellen gefunden werden (für CI/CD) |
-h, --help | Hilfemeldung anzeigen |