
CVE-2025-55182 (React2Shell) Scanner
Ein Sicherheitsbewertungs-Toolkit, entwickelt vom Rapticore Security Research Team, zur Erkennung von Schwachstellen in React Server Components (RSC), einschließlich CVE-2025-55182 (React2Shell) – einer kritischen Schwachstelle für Remote Code Execution.
Dieses Toolkit bietet zwei spezialisierte Werkzeuge:
| Werkzeug | Beschreibung |
|---|---|
ore_rsc.py | Schneller RSC-Endpunkt-Scanner für schnelle Bewertungen |
ore_react2shell.py | Vollständiges Bewertungspaket mit Subdomain-Enumeration und Berichterstellung |
https://github.com/user-attachments/assets/5be7661b-515c-46b4-ade4-8e88fdff6528
Scanner erkennt CVE-2025-55182 (React2Shell)-Schwachstellen in einer Next.js-Testanwendung.
CVE-2025-55182 (React2Shell) ist eine kritische RCE-Schwachstelle, die React Server Components betrifft:
| Betroffene Pakete | Anfällige Versionen | Behobene Versionen |
|---|---|---|
| react-server-dom-webpack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| react-server-dom-parcel | 19.0.0, 19.1.0, 19.1.1, 19.2.0 |
Referenz: GHSA-fv66-9v8q-g76r
ore_rsc.py)ore_react2shell.py)# Clone the repository
git clone https://github.com/rapticore/ore_react2shell_scanner.git
cd ore_react2shell_scanner
# Create virtual environment
python3 -m venv env
source env/bin/activate # On Windows: env\Scripts\activate
# Install dependencies
pip install aiohttp jinja2
# Optional: Install subfinder for subdomain enumeration
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
ore_rsc.py# Single domain scan
python ore_rsc.py example.com
# Multiple domains
python ore_rsc.py example.com api.example.com
# Scan from file
python ore_rsc.py -f subdomains.txt
# Deep scan with extended paths
python ore_rsc.py example.com --deep
# Active verification (sends PoC payload)
python ore_rsc.py example.com --verify
# Safe side-channel check (non-exploitative)
python ore_rsc.py example.com --safe-check
# JSON output
python ore_rsc.py example.com --format json -o results.json
ore_react2shell.py# Full assessment with subdomain enumeration
# Results saved to: results/example_com_{timestamp}/
python ore_react2shell.py --domain example.com
# Use existing subdomain list
python ore_react2shell.py --domain example.com -f subdomains.txt
# Multiple root domains
python ore_react2shell.py --domain example.com --domain example.org
# With active verification
python ore_react2shell.py --domain example.com --verify
# Safe side-channel check
python ore_react2shell.py --domain example.com --safe-check
# Skip subdomain enumeration
python ore_react2shell.py --domain example.com --skip-enum
# Custom output directory
python ore_react2shell.py --domain example.com -o ./reports
Berichte werden automatisch nach Domäne und Zeitstempel organisiert:
results/
└── example_com_20250106_143052/
├── rsc_assessment.html # Interactive HTML report
├── rsc_assessment.json # Machine-readable JSON
├── rsc_assessment.csv # Spreadsheet format
└── rsc_assessment_executive_summary.txt # Text summary
Der Scanner implementiert eine robuste Verifizierungslogik für den Umgang mit instabilen Servern:
Die Scanner erkennen RSC-Endpunkte über:
text/x-component, text/x-rsc, text/x-flightx-nextjs-cache, rsc, next-action usw.0:, 1:), React-Referenzen ($)$ACTION_ID, formAction-Attribute| Risikostufe | Kriterien |
|---|---|
| CRITICAL | Ausnutzung über --verify bestätigt |
| HIGH | Über --safe-check wahrscheinlich anfällig |
Wenn anfällige Endpunkte erkannt werden:
react-server-dom-* auf behobene Versionen aktualisieren (19.0.1, 19.1.2, 19.2.1+)Dieses Tool ist ausschließlich für autorisierte Sicherheitsbewertungen bestimmt. Verwenden Sie es nur für Domänen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen besitzen.
Das Rapticore Security Research Team übernimmt keine Haftung für Missbrauch.
Entwickelt vom Rapticore Security Research Team
| 19.0.1, 19.1.2, 19.2.1+ |
| react-server-dom-turbopack | 19.0.0, 19.1.0, 19.1.1, 19.2.0 | 19.0.1, 19.1.2, 19.2.1+ |
| Option | Beschreibung |
|---|
domains | Zu scannende Domäne(n) |
-f, --file | Datei mit Domänen (eine pro Zeile) |
-c, --concurrency | Gleichzeitige Anfragen (Standard: 20) |
-t, --timeout | Anfrage-Timeout in Sekunden (Standard: 25) |
--deep | Deep-Scan mit erweiterten Pfaden |
--verify | Aktive Verifizierung – sendet RCE-PoC-Payload |
--safe-check | Sichere Seitenkanal-Verifizierung |
--waf-bypass | WAF-Bypass-Modus mit Junk-Daten |
-o, --output | Pfad der Ausgabedatei |
--format | Ausgabeformat: console, json, csv |
| Option | Beschreibung |
|---|
-d, --domain | Zu bewertende Zieldomäne(n) (erforderlich) |
-f, --file | Datei mit Subdomains |
--skip-enum | Subdomain-Enumeration überspringen |
-c, --concurrency | Gleichzeitige Anfragen (Standard: 30) |
--deep | Deep-Scan mit erweiterten Pfaden |
--verify | Modus für aktive Verifizierung |
--safe-check | Sichere Seitenkanal-Verifizierung |
-o, --output | Basis-Ausgabeverzeichnis (Standard: results) |
--format | Ausgabeformat: html, json, csv, txt, all |
| MEDIUM |
| RSC-Endpunkt mit Server Actions |
| LOW | RSC-Endpunkt erkannt |
| INFO | RSC-Indikatoren vorhanden |