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 — Masterarbeit-Forschung zu CVE-2025-55182 (React2Shell). Modulares Exploitation-Framework mit 6 Angriffsszenarien (RCE, Exfiltration, Defacement), interaktiver Reverse Shell und einem vollständigen verwundbaren Labor zum Studium von Prototype Pollution und unsicherer Deserialisierung in React Server Components. | Kitploit
Tools/GitHubGitHub/devianntsec/cve-2025-55182
Exploit-FrameworksSchwachstellenanalyseExploitationWebanwendungs-ExploitationPost-ExploitationPenetrationstestsPapers & ForschungLernen & BildungRemote-Access-Tool
Payload-Entwicklung
Labs & Praxis
GitHubdevianntsec/cve-2025-55182

CVE-2025-55182

Repository anzeigen
113vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Masterarbeit-Forschung zu CVE-2025-55182 (React2Shell). Modulares Exploitation-Framework mit 6 Angriffsszenarien (RCE, Exfiltration, Defacement), interaktiver Reverse Shell und einem vollständigen verwundbaren Labor zum Studium von Prototype Pollution und unsicherer Deserialisierung in React Server Components.

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

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

Repository-Struktur

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

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

Schritt 2 — Exploit ausführen

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

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

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
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

Tool herunterladen