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 — Proof-of-Concept-Exploit für CVE-2025-55182, eine kritische nicht authentifizierte RCE in React Server Components. Enthält automatisierten Python-Exploit, technische Analyse, Erkennungsregeln und Einrichtung einer Laborumgebung für autorisierte Sicherheitstests. | Kitploit
Tools/GitHubGitHub/tinashelorenzi/cve-2025-55182
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsEinbruchserkennungLernen & BildungRed TeamingPayload-EntwicklungLabs & Praxis
GitHubtinashelorenzi/cve-2025-55182

CVE-2025-55182

Proof-of-Concept-Exploit für CVE-2025-55182, eine kritische nicht authentifizierte RCE in React Server Components. Enthält automatisierten Python-Exploit, technische Analyse, Erkennungsregeln und Einrichtung einer Laborumgebung für autorisierte Sicherheitstests.

Repository anzeigen
4vor 9 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 →
Teilen

React2Shell (CVE-2025-55182) - Proof of Concept

Ein umfassendes Proof-of-Concept-Exploit und Bildungsressource für CVE-2025-55182, eine kritische Remote-Code-Ausführungsschwachstelle, die React Server Components betrifft, mit einem CVSS-Score von 10.0.

Python Version License CVSS

Rechtlicher Haftungsausschluss

NUR FÜR BILDUNGSZWECKE UND AUTORISIERTE TESTS

Dieses Werkzeug dient ausschließlich Bildungszwecken und autorisierten Sicherheitstests. Unautorisierter Zugriff auf Computersysteme ist illegal gemäß verschiedener Gesetze, einschließlich des Computer Fraud and Abuse Act (CFAA) in den Vereinigten Staaten und ähnlicher Gesetzgebung weltweit.

Sie müssen:

  • Dieses Werkzeug nur auf Systemen verwenden, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen haben
  • Alle geltenden lokalen, staatlichen und bundesstaatlichen Gesetze einhalten
  • Dieses Werkzeug verantwortungsvoll und ethisch einsetzen

Der Autor und die Mitwirkenden:

  • Sind nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Werkzeug verursacht werden
  • Befürworten oder ermutigen keinen unbefugten Zugriff auf Computersysteme
  • Stellen dieses Werkzeug ausschließlich für Bildungs- und defensive Sicherheitszwecke bereit

Durch die Nutzung dieses Werkzeugs bestätigen Sie, dass Sie diese Bedingungen verstehen und akzeptieren.

📋 Inhaltsverzeichnis

  • Überblick
  • Schwachstellendetails
  • Betroffene Versionen
  • Technische Analyse
  • Installation
  • Nutzung
  • Erkennung
  • Behebung
  • Lab-Umgebungs-Setup
  • Referenzen
  • Mitwirken
  • Autor

🎯 Überblick

React2Shell ist eine kritische Schwachstelle, die im Dezember 2025 entdeckt wurde und React Server Components (RSC) sowie Frameworks, die diese implementieren, insbesondere Next.js, betrifft. Die Schwachstelle ermöglicht unauthorisierte Remote-Code-Ausführung durch eine einzige manipulierte HTTP-Anfrage.

Dieses Repository enthält:

  • ✅ Automatisiertes Python-Exploit-Skript
  • ✅ Detaillierte technische Analyse
  • ✅ Erkennungsregeln (Snort, OSQuery)
  • ✅ Anleitung zum Einrichten einer Lab-Umgebung
  • ✅ Umfassende Dokumentation

🔍 Schwachstellendetails

FeldDetails
CVE-IDCVE-2025-55182
CVSS-Score10.0 (Kritisch)
AngriffsvektorNetzwerk
AngriffskomplexitätNiedrig
Erforderliche BerechtigungenKeine
BenutzerinteraktionKeine
AuswirkungVollständige Systemkompromittierung (RCE)
OffenlegungsdatumDezember 2025

Was macht dies kritisch?

  1. Keine Authentifizierung erforderlich – Von jedem nicht authentifizierten Angreifer ausnutzbar
  2. Standardkonfigurationen angreifbar – Standard-Next.js-Apps, die mit create-next-app erstellt wurden, sind ausnutzbar
  3. Hohe Zuverlässigkeit – Nahezu 100% Erfolgsquote bei der Ausnutzung
  4. Große Angriffsfläche – 571.000+ öffentliche Server mit React-Komponenten (Shodan-Daten)
  5. Schwerwiegende Auswirkungen – Vollständige Remote-Code-Ausführung mit Node.js-Prozessberechtigungen

📦 Betroffene Versionen

React Server Components

Angreifbare Versionen:

  • react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack: 19.0.0, 19.1.0, 19.1.1, 19.2.0

Gepatche Versionen:

  • React 19.0.1
  • React 19.1.2
  • React 19.2.1

Next.js

Angreifbare Versionen:

  • Alle Versionen ≥14.3.0-canary.77
  • Alle 15.x-Releases (vor Patch)
  • Alle 16.x-Releases (vor Patch)

Gepatche Versionen:

  • Überprüfen Sie Next.js-Releases auf aktualisierte Versionen, die React-Patches enthalten

Andere betroffene Frameworks

  • React Router (bei Verwendung des RSC-Modus)
  • Waku
  • Redwood SDK
  • Verschiedene RSC-fähige Frameworks

🔬 Technische Analyse

Ursache

Die Schwachstelle existiert in der requireModule-Funktion innerhalb der Deserialisierungslogik von React Server Components:

root@kitploit:~
function requireModule(metadata) {  
  var moduleExports = __webpack_require__(metadata[0]);  
  return moduleExports[metadata[2]];  // VULNERABLE LINE - Prototype chain traversal
}

Der Fehler erlaubt Angreifern, die JavaScript-Prototypkette über das React-Flight-Protokoll zu durchlaufen und den Function-Konstruktor über Eigenschaften wie constructor.constructor zu erreichen, was die Ausführung beliebigen Codes ermöglicht.

Exploit-Kette

  1. Fake-Chunk-Erstellung – Angreifer sendet mehrteilige Formulardaten mit einem manipulierten Chunk-Objekt
  2. Prototypverunreinigung – Nutzt __proto__ aus, um eine selbstreferenzielle Struktur zu erzeugen
  3. Blob-Handler-Missbrauch – Löst Reacts internen Blob-Deserialisierungs-Handler aus
  4. Zugriff auf Funktionskonstruktor – Kettet durch constructor.constructor, um auf Function() zuzugreifen
  5. Code-Ausführung – Injiziert beliebiges JavaScript über child_process.execSync()

Angriffsablauf-Diagramm

root@kitploit:~
┌─────────────────────────────────────────────────────────────┐
│  Angreifer sendet multipart/form-data mit Next-Action-Header│
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Server deserialisiert Payload über React-Flight-Protokoll  │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Fake-Chunk-Objekt mit __proto__-Verunreinigung verarbeitet │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Blob-Handler ruft _formData.get(_prefix + id) auf         │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Löst auf zu Function("malicious_code")                     │
└──────────────────────┬──────────────────────────────────────┘
                       │
                       ▼
┌─────────────────────────────────────────────────────────────┐
│  Beliebiger Code mit Node.js-Prozessberechtigungen ausgeführt│
└─────────────────────────────────────────────────────────────┘

🚀 Installation

Voraussetzungen

  • Python 3.7 oder höher
  • requests-Bibliothek

Einrichtung

root@kitploit:~
# Repository klonen
git clone https://github.com/yourusername/react2shell-poc.git
cd react2shell-poc

# Abhängigkeiten installieren
pip install -r requirements.txt

# Skript ausführbar machen (Linux/macOS)
chmod +x react2shell.py

Requirements.txt

root@kitploit:~
requests>=2.31.0
urllib3>=2.0.0

💻 Nutzung

Grundlegende Nutzung

root@kitploit:~
python3 react2shell.py

Interaktive Sitzung

root@kitploit:~
╔═══════════════════════════════════════════════════════════╗
║           React2Shell (CVE-2025-55182) PoC                ║
║                 CVSS 10.0 - Critical RCE                  ║
║                                                           ║
║  Betroffen: React 19.0.0, 19.1.0, 19.1.1, 19.2.0        ║
║           Next.js ≥14.3.0-canary.77, 15.x, 16.x          ║
║                                                           ║
║  Cerberus Secure - Nur für Labornutzung                  ║
╚═══════════════════════════════════════════════════════════╝

[?] Zielinformationen eingeben:
    Host (z. B. localhost oder 192.168.1.100): localhost
    Port (z. B. 3000): 3000

[React2Shell]> id
[*] Ziel: http://localhost:3000/
[*] Befehl: id
[*] Baue Exploit-Payload...
[*] Sende Exploit-Anfrage...
[+] Antwort-Statuscode: 200
[*] Analysiere Antwort...

╔═══════════════════════════════════════════════════════════╗
║                    BEFEHLS AUSGABE                        ║
╚═══════════════════════════════════════════════════════════╝
uid=1000(node) gid=1000(node) groups=1000(node)

[React2Shell]> whoami
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> exit

Beispielbefehle

root@kitploit:~
# Systemaufklärung
[React2Shell]> id
[React2Shell]> whoami
[React2Shell]> uname -a
[React2Shell]> cat /etc/os-release

# Dateisystemerkundung
[React2Shell]> pwd
[React2Shell]> ls -la
[React2Shell]> cat package.json

# Umgebungsvariablen (enthalten oft Geheimnisse)
[React2Shell]> printenv
[React2Shell]> echo $PATH

# Netzwerkinformationen
[React2Shell]> ifconfig
[React2Shell]> netstat -tulpn

Verfügbare Befehle

BefehlBeschreibung
<beliebiger Shell-Befehl>Befehl auf Ziel ausführen
helpHilfemeldung anzeigen
exit / quit / qTool beenden

🛡️ Erkennung

Erkennung auf Netzwerkebene (Snort v3)

Stellen Sie diese Snort-Regel bereit, um Exploit-Versuche zu erkennen:

root@kitploit:~
alert http any any -> $LAN_NETWORK any (
    msg:"Potentieller Next.js React2Shell / CVE-2025-55182 Versuch";
    flow:to_server,established;
    content:"Next-Action"; http_header; nocase;
    content:"multipart/form-data"; http_header; nocase;
    pcre:"/Content-Disposition:\s*form-data;\s*name=\"0\"/s";
    pcre:"/\"status\"\s*:\s*\"resolved_model\"/s";
    pcre:"/\"then\"\s*:\s*\"\$1:__proto__:then\"/s";
    classtype:web-application-attack;
    sid:6655001;
    rev:1;
)

Erkennungslogik:

  • Überwacht auf Next-Action-Header (RSC-spezifisch)
  • Erkennt multipart/form-data-Payloads
  • Identifiziert exploitspezifische Muster: name="0", status: "resolved_model", then: "$1:__proto__:then"

Endpunkt-Erkennung (OSQuery)

Verwenden Sie diese OSQuery-Regel, um nach anfälligen Paketversionen zu suchen:

root@kitploit:~
{
  "queries": {
    "detect_react2shell_vulnerable_packages": {
      "query": "SELECT name, version, path FROM npm_packages WHERE (name='react-server-dom-parcel' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0')) OR (name='react-server-dom-turbopack' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0')) OR (name='react-server-dom-webpack' AND (version='19.0.0' OR (version >= '19.1.0' AND version < '19.1.2') OR version='19.2.0'));",
      "interval": 3600,
      "description": "Erkennt anfällige Versionen von React Server Components-Paketen, die von CVE-2025-55182 betroffen sind",
      "platform": "linux,windows,macos",
      "version": "1.0"
    }
  }
}

Vorteile:

  • Scannt Endpunkte auf anfällige Pakete
  • Funktioniert in Entwicklungs-, Staging- und Produktionsumgebungen
  • Kann in CI/CD-Pipelines integriert werden
  • Bietet Frühwarnung vor der Bereitstellung

Indikatoren für die Log-Analyse

Achten Sie auf diese Muster in Ihren Anwendungsprotokollen:

root@kitploit:~
- HTTP-POST-Anfragen mit "Next-Action"-Header
- Ungewöhnliche multipart/form-data-Anfragen an das Anwendungsstammverzeichnis
- Fehlermeldungen mit "NEXT_REDIRECT" und unerwarteten Digest-Werten
- Anstieg von 500-Fehlern mit React-bezogenen Stack-Traces
- Kindprozess-Starts von Node.js (execSync, spawn, exec)

🔧 Behebung

Sofortmaßnahmen

1. Anfällige Pakete aktualisieren

root@kitploit:~
# Aktuelle Versionen prüfen
npm list react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

# React auf gepatchte Version aktualisieren
npm install [email protected] [email protected]

# Next.js auf neueste gepatchte Version aktualisieren
npm install next@latest

# Updates überprüfen
npm list react react-dom next

2. Anwendungsneubau überprüfen

root@kitploit:~
# Cache löschen und neu erstellen
rm -rf .next node_modules package-lock.json
npm install
npm run build

3. Aktualisierte Anwendungen bereitstellen

  • Entwicklung: Gründlich in der Staging-Umgebung testen
  • Staging: Alle Funktionalitäten vor der Produktion validieren
  • Produktion: Mit geeignetem Rollback-Plan bereitstellen

Langfristige Sicherheitsmaßnahmen

1. Web Application Firewall (WAF)-Regeln implementieren

Verdächtige Muster blockieren:

root@kitploit:~
- Anfragen mit "Next-Action"-Header aus nicht vertrauenswürdigen Quellen
- Mehrteilige Formulardaten mit verdächtigen JSON-Strukturen
- Anfragen, die Exploit-Signaturmustern entsprechen

2. Netzwerksegmentierung

  • React-Anwendungen in separate Netzwerkzonen isolieren
  • Strenge Egress-Filterung implementieren
  • Ungewöhnliche ausgehende Verbindungen überwachen und alarmieren

3. Runtime Application Self-Protection (RASP)

  • RASP-Lösungen bereitstellen, um Exploit-Versuche zu erkennen und zu blockieren
  • Auf verdächtige Kindprozess-Starts überwachen
  • Bei unerwarteten Codeausführungsmustern alarmieren

4. Sicherheitsscans in CI/CD

root@kitploit:~
# Beispiel GitHub Actions-Workflow
name: Sicherheitsscan
on: [push, pull_request]

jobs:
  dependency-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Auf anfällige React-Pakete prüfen
        run: |
          npm audit --audit-level=critical
          npm list react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

5. Überwachung und Alarmierung

Alarme einrichten für:

  • Bereitstellung anfälliger Paketversionen
  • Exploit-Versuchsmuster in Protokollen
  • Unerwartete Kindprozesserstellung
  • Netzwerkverbindungen zu verdächtigen Zielen

🧪 Lab-Umgebungs-Setup

Option 1: Anfällige Next.js-Anwendung

root@kitploit:~
# Neue Next.js-App mit anfälliger Version erstellen
npx [email protected] vulnerable-app
cd vulnerable-app

# Anfällige React-Version installieren
npm install [email protected] [email protected]

# Entwicklungsserver starten
npm run dev

Option 2: Docker-Umgebung

Erstellen Sie eine Dockerfile:

root@kitploit:~
FROM node:18-alpine

WORKDIR /app

# Einfache Next.js-App erstellen
RUN npx [email protected] vulnerable-app --typescript --tailwind --app --no-src-dir

WORKDIR /app/vulnerable-app

# Anfällige React-Versionen installieren
RUN npm install [email protected] [email protected]

EXPOSE 3000

CMD ["npm", "run", "dev"]

Erstellen und ausführen:

root@kitploit:~
docker build -t react2shell-lab .
docker run -p 3000:3000 react2shell-lab

Option 3: Docker Compose

Erstellen Sie docker-compose.yml:

root@kitploit:~
version: '3.8'
services:
  vulnerable-app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
    volumes:
      - ./app:/app/vulnerable-app

Ausführen:

root@kitploit:~
docker-compose up -d

Schwachstelle überprüfen

Testen Sie mit curl:

root@kitploit:~
curl -X POST http://localhost:3000/ \
  -H "Next-Action: x" \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad" \
  --data-binary @exploit_payload.txt

📚 Referenzen

Offizielle Sicherheitshinweise

  • React Security Advisory - CVE-2025-55182
  • Next.js Security Advisory
  • NVD - CVE-2025-55182

Forschung und Analyse

  • Original PoC von maple3142
  • Wiz Security Research - React2Shell-Analyse
  • Assetnote Security Research

Erkennung und Abwehr

  • Snort-Dokumentation
  • OSQuery-Dokumentation
  • React Server Components-Dokumentation

Verwandte Schwachstellen

  • Log4Shell (CVE-2021-44228) - Ähnliche RCE durch Deserialisierung
  • Spring4Shell (CVE-2022-22965) - Framework-Ebene RCE

🤝 Mitwirken

Beiträge sind willkommen! Bitte befolgen Sie diese Richtlinien:

  1. Repository forken
  2. Einen Feature-Branch erstellen (git checkout -b feature/improvement)
  3. Ihre Änderungen committen (git commit -am 'Neue Erkennungsmethode hinzufügen')
  4. In den Branch pushen (git push origin feature/improvement)
  5. Einen Pull-Request erstellen

Bereiche für Beiträge

  • Zusätzliche Erkennungsregeln (Suricata, Zeek usw.)
  • Integration mit Sicherheitsframeworks (MISP, TheHive usw.)
  • Erweiterte Payload-Variationen
  • Verbesserte Ausgabeanalyse
  • Zusätzliche Dokumentation und Übersetzungen

📝 Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe LICENSE Datei für Details.

👤 Autor

Tinashe

  • Position: Lösungsarchitekt für Cybersicherheit
  • Organisation: Cerberus Secure / iConnect SA
  • Standort: Johannesburg, Südafrika
  • LinkedIn: https://www.linkedin.com/in/tinashe-matanda/
  • GitHub: @tinashelorenzi

Über Cerberus Secure

Cerberus Secure ist die Cybersicherheitsabteilung von iConnect SA, spezialisiert auf:

  • DDoS-Abwehr und Netzwerksicherheit
  • GRC-Compliance (POPIA, ECT, PCI-DSS, HPCSA)
  • Sicherheitsarchitektur und Lösungsdesign
  • Incident Response und Bedrohungsanalyse
  • Individuelle SIEM-Entwicklung (Olympus-Plattform)

🙏 Danksagungen

  • maple3142 - Ursprüngliche Proof-of-Concept-Forschung
  • Wiz Security Research - Umfassende Schwachstellenanalyse
  • Assetnote - Erweiterte Exploitation-Techniken
  • React Team - Schnelle Reaktion und Patch-Entwicklung
  • Next.js Team - Framework-Ebenen-Abwehrmaßnahmen

⚖️ Verantwortungsvolle Offenlegung

Diese Schwachstelle wurde von Sicherheitsforschern verantwortungsvoll dem React-Team gemeldet. Dieser PoC wird veröffentlicht nach:

  • Offizielle Patches wurden bereitgestellt
  • Ausreichend Zeit für Organisationen zum Aktualisieren
  • Öffentliche Offenlegung durch das React-Sicherheitsteam

Zeitplan:

  • Dezember 2025: Schwachstelle entdeckt
  • Dezember 2025: Koordinierte Offenlegung gegenüber dem React-Team
  • Dezember 2025: Patches veröffentlicht (19.0.1, 19.1.2, 19.2.1)
  • Dezember 2025: Öffentliche Offenlegung und PoC-Veröffentlichung

Denken Sie daran: Verwenden Sie dieses Werkzeug verantwortungsvoll und nur auf Systemen, für die Sie autorisiert sind, Tests durchzuführen.

Für Fragen, Anliegen oder Sicherheitsprobleme mit diesem Repository öffnen Sie bitte ein Issue oder kontaktieren Sie den Maintainer direkt.

Tool herunterladen