Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-55182-React2Shell-Async-Scanner — Async RCE-Scanner für CVE-2025-55182 / CVE-2025-66478 — Prototype-Pollution → Codeausführung über React Server Actions. | Kitploit
Tools/GitHubGitHub/inferiorak/cve-2025-55182-react2shell-async-scanner
AufklärungSchwachstellenscannerDynamische Analyse (Sandboxing)Code-AnalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungCTFPenetrationstests

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Lernen & Bildung
Payload-Entwicklung
GitHubinferiorak/cve-2025-55182-react2shell-async-scanner

CVE-2025-55182-React2Shell-Async-Scanner

Async RCE-Scanner für CVE-2025-55182 / CVE-2025-66478 — Prototype-Pollution → Codeausführung über React Server Actions.

Repository anzeigen
3114vor 6 MonatenNoch nicht geprüft
Teilen

⚡ React2Shell

CVE-2025-55182 / CVE-2025-66478 - Async-RCE-Scanner

Python CVE CVE License Author Visitors

Prototype-Pollution → Remote Code Execution über React Server Actions

Async, zuerst Version, dann ausgabebasierte Canary-Erkennung - kein blindes Raten


[!WARNING] Nur für autorisierte Sicherheitsforschung und Penetrationstests. Das Scannen von Systemen ohne ausdrückliche schriftliche Genehmigung ist illegal. Der Autor übernimmt keine Verantwortung für Missbrauch dieses Tools.


Inhaltsverzeichnis

  • Überblick über die Schwachstelle
  • Betroffene Versionen
  • So funktioniert die Erkennung
  • Installation
  • Verwendung
  • Optionen-Referenz
  • Ausgabe & Bewertungen
  • Browser-Modus
  • Pipeline zur Versionserkennung

Überblick über die Schwachstelle

React Server Actions übergeben Aktionsdaten als Multipart-Formulardaten direkt an einen serverseitigen Ausführungskontext. Aufgrund unzureichender Prototype-Pollution-Bereinigung in betroffenen Versionen von react-server-dom-webpack kann ein Angreifer:

  1. Ein manipuliertes Multipart-Payload injizieren, das Object.prototype verschmutzt
  2. _response._prefix am internen Response-Objekt überschreiben
  3. Den Server zwingen, beliebige Shell-Befehle über den folgenden Code auszuführen:
    process.mainModule.require('child_process').execSync(cmd)
    

Dies ermöglicht nicht authentifizierte Remote Code Execution auf jeder öffentlich erreichbaren Next.js-Anwendung, die React Server Actions mit einer betroffenen React-Version verwendet.

CVE-2025-55182 - Breit: betrifft React-19-Pakete (react-server-dom-webpack, react-server-dom-parcel, react-server-dom-turbopack)
CVE-2025-66478 - Eingeschränkt: Next.js-spezifischer Ausnutzungspfad über den Server-Action-Endpunkt /


Betroffene Versionen

KomponenteVerwundbarGepatcht
React react-server-dom-*19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1, 19.1.2, 19.2.1+
Next.js 16.x16.0.0 – 16.0.616.0.7+
Next.js 15.x15.0.0-15.0.4, 15.1.0-15.1.8, 15.2.0-15.2.5, 15.3.0-15.3.5, 15.4.0-15.4.7, 15.5.0-15.5.615.0.5+, 15.1.9+, 15.2.6+, 15.3.6+, 15.4.8+, 15.5.7+
Next.js 14.x14.3.0-canary.77+ nur Canary-BuildsAlle stabilen 14.x - NICHT betroffen
Next.js 13.x-NICHT betroffen

So funktioniert die Erkennung

Dieser Scanner verwendet die ausgabebasierte Canary-Verifizierung - die zuverlässigste Methode, um echte Codeausführung ohne falsch-positive Ergebnisse zu bestätigen:

1.  POST /  with Next-Action header + multipart prototype-pollution payload
2.  Payload executes:  echo <random_canary>
3.  Vulnerable server throws NEXT_REDIRECT with base64(canary) in the URL
4.  Response header:   X-Action-Redirect: /login?a=<base64(canary)>
5.  Scanner decodes base64 → matches canary → RCE confirmed ✓

allow_redirects=False ist entscheidend - die Bestätigung befindet sich im Header, nicht im Ziel der Weiterleitung.


Installation

git clone https://github.com/InferiorAK/React2Shell
cd React2Shell

pip install -r requirements.txt

# Required only if using --browser mode for improved version detection:
playwright install chromium
playwright install-deps chromium

Anforderungen: Python 3.10+


Verwendung

CVE-2025-55182-Scanner - Breit (React + Next.js)

# Single target
python3 CVE-2025-55182_scanner.py -u https://target.com

# Scan a list of URLs
python3 CVE-2025-55182_scanner.py -f urls.txt

# Quiet mode - only print RCE / Vulnerable results
python3 CVE-2025-55182_scanner.py -f urls.txt -q

# Browser mode - headless Chromium for accurate version detection
python3 CVE-2025-55182_scanner.py -f urls.txt -b

# Full options - recommended for large-scale scanning
python3 CVE-2025-55182_scanner.py -f urls.txt -b -q -c 3 -t 20

Optionen-Referenz

CVE-2025-55182-Scanner

FlagLangformStandardBeschreibung
-u--url-Einzelne Ziel-URL
-f--file-Datei mit einer URL pro Zeile
-o--outputoutputs/vuln.txtAusgabedatei für verwundbare Ziele
-U--unknown-outputoutputs/unknown.txtAusgabedatei für Ziele mit unbekannter Version
-c--concurrency5Parallele HTTP-Verbindungen
-t--timeout15Timeout pro Anfrage (Sekunden)
-q--quietausNur RCE- / VULNERABLE-Zeilen ausgeben
-b--browserausPlaywright-Headless-Chromium-Fallback zur Versionserkennung

Ausgabe & Bewertungen

Jedem gescannten Ziel wird eine der folgenden Bewertungen zugewiesen:

BewertungFarbeBedeutung
RCE🔴 RotCanary in X-Action-Redirect bestätigt - bewiesene Remote Code Execution
VULNERABLE🟠 OrangeVersion liegt im verwundbaren Bereich; das RCE-Payload wurde nicht zurückgespiegelt (WAF / gepatchte Konfiguration / falscher Endpunkt)
Unknown🟡 GelbNext.js bestätigt, aber die Version konnte nicht erkannt werden - RCE wurde trotzdem versucht; für einen erneuten Versuch im Browser-Modus in outputs/unknown.txt gespeichert
Not Vulnerable🟢 GrünVersion als gepatcht bestätigt oder RCE explizit als sicher zurückgegeben
Skipped⚪ WeißBestätigt gepatchte Version oder keine Next.js-Website - kein PoC versucht
Error⚪ WeißHost nicht erreichbar oder Verbindung fehlgeschlagen

Ausgabedateien (werden im Ordner outputs/ gespeichert, der automatisch erstellt wird):

  • outputs/vuln.txt - RCE- und VULNERABLE-Ergebnisse (werden bei jedem Lauf angehängt)
  • outputs/unknown.txt - Ziele mit Unknown-Version; diese mit -b erneut prüfen, um die Version genau zu erkennen

Browser-Modus

Warum wird die Version bei über 90 % der Websites als unknown angezeigt?

Modernes Next.js 13+ mit App-Router-Architektur bettet die Framework-Version niemals in statisches HTML ein. Die Version existiert nur in window.next.version, nachdem JavaScript in einem echten Browserkontext ausgeführt wurde.

Ohne --browser:

  • Die Versionserkennung stützt sich auf HTTP-Header, __NEXT_DATA__, Inline-Skripte und gehashte Chunk-Dateien
  • App-Router-Websites liefern fast immer unknown zurück - die versionsbasierte Filterung wird umgangen

Mit --browser (-b):

  • Playwright startet Headless-Chromium
  • Das JavaScript der Seite wird vollständig ausgeführt
  • Der Scanner liest window.next.version direkt aus dem Live-DOM
  • Die Versionsgenauigkeit steigt bei modernen Next.js-Websites von ~10 % auf nahezu 100 %
Tool herunterladen