Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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 — Erweiterte Sicherheitsforschung zu CVE-2025-55182 (React2Shell). Enthält ein Exploitation-Framework mit 6 funktionalen Auswirkungsszenarien (von RCE bis zur Exfiltration von Geheimnissen), eine interaktive Reverse-Shell und ein vollständiges Labor. Portfolio-Projekt, das eine tiefgehende Analyse von Prototype Pollution und unsicherer Deserialisierung in React Server Components demonstriert. | Kitploit
Tools/GitHubGitHub/devianntsec/cve-2025-55182
Exploit-FrameworksSchwachstellenanalyseExploitationWebanwendungs-ExploitationPost-ExploitationPenetrationstestsPapers & ForschungLernen & BildungRemote-Access-Tool

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Erweiterte Sicherheitsforschung zu CVE-2025-55182 (React2Shell). Enthält ein Exploitation-Framework mit 6 funktionalen Auswirkungsszenarien (von RCE bis zur Exfiltration von Geheimnissen), eine interaktive Reverse-Shell und ein vollständiges Labor. Portfolio-Projekt, das eine tiefgehende Analyse von Prototype Pollution und unsicherer Deserialisierung in React Server Components demonstriert.

Payload-Entwicklung
Labs & Praxis
GitHubdevianntsec/cve-2025-55182

CVE-2025-55182

Repository anzeigen
1vor 3 MonatenNoch nicht geprüft
Teilen

CVE-2025-55182 — React2Shell: Fortgeschrittenes Exploit & Masterarbeits-Forschung

Platform Language License: MIT Research CVSS

Deserialisierung nicht vertrauenswürdiger Daten + Prototype Pollution in React Server Components
Nicht authentifizierte Remote Code Execution über Next.js Server Actions
Betroffen: React 19.0.0 - 19.2.0 · Patch: React 19.0.1 / 19.1.2 / 19.2.1 (3. Dezember 2025)


Demonstration des fortgeschrittenen Exploits – RCE-Basisbefehle, interaktive Shell und mehrere Angriffsvektoren gegen eine verwundbare Next.js-Anwendung

Beschreibung

Dieses Repository enthält meine Masterarbeits-Forschung zu CVE-2025-55182, einer kritischen (CVSS v3.1: 10.0) Remote Code Execution-Schwachstelle in React Server Components.

Die Schwachstelle entsteht durch einen unsicheren Deserialisierungsmechanismus im React-Flight-Protokoll. Bei der Verarbeitung von Server Actions deserialisiert Next.js eingehende Multipart-Payloads ohne ordnungsgemäße Validierung. Ein Angreifer kann eine bösartige Payload erstellen, die die Prototypenkette verschmutzt und beliebiges JavaScript injiziert, das auf dem Server über den Function-Konstruktor (und anschließend über child_process.execSync()) ausgeführt wird.

Hinweis zu CVE-2025-66478: Vercel hat eine parallele CVE vergeben, um die Next.js-spezifischen Auswirkungen derselben Schwachstelle zu verfolgen. Da Next.js React in einer gebündelten (vendored) Form ausliefert, erkennen viele Dependency-Scanner es nicht automatisch als verwundbar. Die US National Vulnerability Database (NVD) hat CVE-2025-66478 offiziell als Duplikat von CVE-2025-55182 abgelehnt, obwohl weiterhin in Vercels eigenem Security Advisory darauf verwiesen wird.

Nachfolgeschwachstellen: Das React-Team hat anschließend zwei weitere Probleme offengelegt, die in den ersten Patch-Versionen (19.0.1, 19.1.2, 19.2.1) vorhanden sind: CVE-2025-55184 (Denial of Service, CVSS 7.5) und CVE-2025-55183 (Offenlegung von Quellcode, CVSS 5.3). Benutzer sollten auf 19.0.2, 19.1.3 oder 19.2.2 aktualisieren, um alle drei zu beheben.

Mein Beitrag


Repository-Struktur

root@kitploit:~
CVE-2025-55182/
├── README.md                        # This file
├── LICENSE                          # MIT License
│
├── exploit/
│   ├── exploit-explanation.md       # Exploit usage documentation
│   └── react2shell.py               # Main exploit — 4 attack modules + interactive shell
│
├── vulnerable-app/                  # Vulnerable Next.js application
│   ├── README.md                    # Original vulnapp credits
│   ├── package.json                 # React 19.0.0 (vulnerable)
│   ├── app/                         # Application source code
│   ├── curl_id.sh                   # Original exploit script (by zack0x01)
│   └── scripts/
│       └── restore.sh               # Restoration script (my contribution)
│
└── docs/
    ├── screenshots/                 # Exploitation demonstrations
    │   ├── 01-app-initial.png
    │   ├── 02-rce-basic.png
    │   ├── 03-interactive-shell.png
    │   ├── 04-no-payload.png
    │   ├── 05-delete-result.png
    │   ├── 06-deface.png
    │   ├── 07-shutdown-servers.png
    │   ├── 08-restore-from-script.png
    │   └── 09-restore-from-interactive-shell.png
    │
    └── analysis/
        ├── 01-root-cause.md         # Vulnerability root cause analysis
        ├── 02-payload-breakdown.md  # Payload structure and execution flow
        └── 03-timeline.md           # CVE timeline

Schnellstart

Voraussetzungen

  • Node.js 18+ und npm
  • Python 3.9+
  • Verwundbare Next.js-Anwendung (im Ordner vulnerable-app/ enthalten)
  • Isolierte VM für Tests empfohlen

Schritt 1 — Verwundbare Anwendung starten

root@kitploit:~
cd vulnerable-app
npm install --legacy-peer-deps
npm run dev
# App available at http://localhost:3000

Schritt 2 — Exploit ausführen

root@kitploit:~
cd ../exploit

# Check if target is vulnerable
python3 react2shell.py -u http://localhost:3000 --check

# Execute single command
python3 react2shell.py -u http://localhost:3000 -c "whoami"

# Interactive shell mode
python3 react2shell.py -u http://localhost:3000 -i

Angriffsmodule


Technischer Überblick

Grundursache der Schwachstelle

React Server Components verwenden einen benutzerdefinierten Serialisierungs-/Deserialisierungsmechanismus (das „Flight“-Protokoll), um Komponentendaten vom Server an den Client zu senden. Bei der Verarbeitung von Server Actions deserialisiert der Server eingehende Payloads ohne ordnungsgemäße Validierung.

Der Kernfehler ist Vertrauen in das Verhalten: Der Deserialisierer prüft typeof obj.then === 'function', um Promises zu identifizieren, ohne zu verifizieren, dass die Eigenschaft direkt zum Objekt gehört. Dadurch kann ein Angreifer Object.prototype.then vergiften, sodass jedes einfache Objekt wie ein Thenable erscheint.

Ein Angreifer kann eine bösartige Payload erstellen, die:

  1. Die Prototypenkette verschmutzt mithilfe von __proto__:then
  2. Die Auflösung umleitet auf den Function-Konstruktor über $1:constructor:constructor
  3. Beliebiges JavaScript ausführt über new Function(_prefix)
  4. Systembefehle ausführt über process.mainModule.require('child_process').execSync()
  5. Die Ausgabe exfiltriert über den X-Action-Redirect-HTTP-Response-Header
root@kitploit:~
User-mode (unauthenticated)
  │
  ├─ POST / (Next.js Server Action endpoint)
  │    ├─ Headers: Next-Action: x
  │    └─ Multipart body with malicious JSON
  │
  └─ React Flight deserializer processes payload
       └─ Prototype pollution via __proto__:then
            └─ Function constructor reached via $1:constructor:constructor
                 └─ new Function(_prefix) executes attacker's JavaScript
                      └─ execSync() runs system command
                           └─ Output embedded in NEXT_REDIRECT error
                                └─ Next.js converts to X-Action-Redirect header

Klarstellung des Umfangs

Die Schwachstelle betrifft jede Next.js-Anwendung, die den App Router mit React Server Components verwendet – die Standardkonfiguration seit Next.js 14. Explizit definierte Server Actions sind nicht erforderlich; das bloße Vorhandensein der betroffenen RSC-Pakete ist ausreichend.

Warum das wichtig ist

Diese Schwachstelle ermöglicht es einem nicht authentifizierten Angreifer:

  • Beliebige Befehle auf dem Server auszuführen
  • Umgebungsvariablen und Anmeldeinformationen zu stehlen
  • Anwendungsdaten zu ändern oder zu löschen
  • Den Server als Pivot-Punkt für weitere Angriffe zu nutzen

Angriffskette

root@kitploit:~
1. [ANY]    Send crafted multipart POST to any Server Action endpoint
2. [SERVER] React deserializer processes malicious JSON
3. [SERVER] Prototype pollution poisons Object.prototype.then
4. [SERVER] Plain object treated as thenable; Function constructor reached
5. [SERVER] new Function(_prefix) executes attacker's arbitrary JavaScript
6. [SERVER] execSync() runs system command; output captured
7. [SERVER] Output embedded in NEXT_REDIRECT error digest
8. [SERVER] Next.js returns X-Action-Redirect header with URL-encoded output
9. [ATTACKER] Extract and URL-decode command result from header

Empirische Tests

Alle Tests wurden in einer isolierten VirtualBox-VM mit Kali Linux 2026.1, Next.js 15.0.0 und React 19.0.0 ohne Netzwerkzugriff durchgeführt.

Determinismus: Im Gegensatz zu probabilistischen Exploits (z. B. Heap Spray) ist CVE-2025-55182 vollständig deterministisch – jede korrekt formatierte HTTP-POST-Anfrage erzeugt mit Wahrscheinlichkeit 1 eine RCE auf jedem ungepatchten System, das React 19.0.0–19.2.0 mit aktivierten React Server Components ausführt.


Technische Dokumentation

DokumentBeschreibung
Analyse der GrundursacheDeserialisierungsfehler und Prototype Pollution in React Flight

Akademischer Kontext

Diese Forschung ist Teil meiner Masterarbeit in Cybersicherheit (UCAM — Campus Internacional de Ciberseguridad), in der N-Day-Schwachstellen in mehreren Umgebungen analysiert werden.

Diese CVE repräsentiert den Vektor moderner JavaScript-Frameworks innerhalb der Arbeit und demonstriert:

  • Deserialisierungsschwachstellen in React Server Components
  • Prototype Pollution als RCE-Primitive
  • Ausnutzung von Next.js Server Actions
  • Post-Exploitation-Techniken in Node.js-Umgebungen
  • Methoden zur sicheren Labor-Wiederherstellung

Schlüsselwörter: RCE · Prototype Pollution · Deserialization · React · Next.js · Server Actions · CVE-2025-55182


Autor

Annais Molina (devianntsec) — Sicherheitsforscherin | Master in Cybersicherheit (UCAM)

GitHub LinkedIn Blog Email


Danksagungen

  • @zack0x01 — Ursprüngliche verwundbare Anwendung
  • Lachlan Davidson (Carapace) — Ursprüngliche Entdeckung der Schwachstelle und verantwortungsvolle Offenlegung
  • AssetNote — Erkennungstool react2shell-scanner
  • Moritz Sanft — Erster funktionierender öffentlicher PoC (~30 Stunden nach Offenlegung)
  • maple3142 — Öffentlicher PoC des ursprünglichen Melders (5. Dezember 2025)

Lizenz

MIT-Lizenz — siehe LICENSE


Rechtlicher Haftungsausschluss

Dieses Repository wird nur für Bildungs- und Sicherheitsforschungszwecke im Rahmen einer akademischen Masterarbeit bereitgestellt. Alle Tests wurden auf isolierten virtuellen Maschinen ohne Netzwerkzugriff durchgeführt. Verwenden Sie es nur auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen besitzen. Die unbefugte Nutzung gegen Systeme ist illegal und kann zu strafrechtlicher Verfolgung führen.

© 2026 Annais Molina · Masterarbeit in Cybersicherheit
UCAM Universidad Católica San Antonio de Murcia · Campus Internacional de Ciberseguridad
Tool herunterladen
AspektBeschreibung
Vier AngriffsmoduleProjekte löschen, Website verunstalten, Umgebungsvariablen stehlen, Server herunterfahren
Interaktive ShellPersistente Shell mit speziellen Befehlen und Wiederherstellungsfunktionen
Stabile ExfiltrationZeilenweises Lesen, um Größenbeschränkungen von HTTP-Headern zu umgehen
WiederherstellungsskriptSichere Labor-Wiederherstellung nach Angriffen
Akademische DokumentationGrundursache, Payload-Analyse und Chronologie der Schwachstelle
ModulBefehlBeschreibungAuswirkung
Projekte löschen--delete-projectsLöscht alle Projekte aus dem DashboardDatenvernichtung
Defacement--deface "message"Ersetzt die HauptseiteVerunstaltung
Umgebung stehlen--steal-envStiehlt UmgebungsvariablenExfiltration
Server herunterfahren--shutdown-serversFährt alle Server herunterDenial of Service
AngriffsmodulErgebnisHinweise
Befehlsausführung✅ RCE bestätigtwhoami, id, uname -a funktionieren zuverlässig
Projekte löschen✅ Dashboard verändertProjekte entfernt, React-Struktur erhalten
Defacement✅ Website verunstaltetEigene Nachricht angezeigt
Umgebung stehlen✅ env-Variablen extrahiertGespeichert in stolen_env.txt
Server herunterfahren✅ Alle Server als gestoppt angezeigtUI aktualisiert, React funktionsfähig
Interaktive Shell✅ Persistente ShellSpezielle Befehle verfügbar
Wiederherstellung✅ Ursprünglicher Zustand wiederhergestelltÜber Skript restore.sh
Payload-Analyse
Zeilenweise Analyse der bösartigen JSON-Struktur
CVE-ChronologieChronologie von Entdeckung, Offenlegung und Patch