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-2026-21717 — Proof-of-Concept für CVE-2026-21717, eine Schwachstelle in der Node.js-V8-String-Hashing-Kollision, die einen Denial-of-Service über manipulierte JSON-Payloads verursacht. | Kitploit
Tools/GitHubGitHub/open-flaw/cve-2026-21717
SchwachstellenanalyseExploitationLernen & Bildung
GitHubopen-flaw/cve-2026-21717

CVE-2026-21717

Proof-of-Concept für CVE-2026-21717, eine Schwachstelle in der Node.js-V8-String-Hashing-Kollision, die einen Denial-of-Service über manipulierte JSON-Payloads verursacht.

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

CVE-2026-21717

Node.js V8 String-Hashing-Schwachstelle mit vorhersehbaren Kollisionen, die zu Denial of Service führt

Überblick

Eine kritische Schwachstelle im String-Hashing-Mechanismus von V8 ermöglicht es Angreifern, eine schwerwiegende Leistungsbeeinträchtigung in Node.js-Anwendungen zu verursachen. Integer-ähnliche Strings werden auf ihren numerischen Wert gehasht, wodurch Hash-Kollisionen trivial vorhersehbar werden. Durch das Erstellen bösartiger Eingaben, die viele Kollisionen in der internen String-Tabelle von V8 verursachen, kann ein Angreifer die Leistung erheblich beeinträchtigen oder einen Denial of Service verursachen.

Details zur Schwachstelle

  • CVE-ID: CVE-2026-21717
  • Schweregrad: Hoch
  • Angriffsvektor: Netzwerk
  • Angriffskomplexität: Niedrig
  • Auswirkung: Denial of Service (DoS)

Technische Beschreibung

Die Schwachstelle beruht auf dem String-Internierungsprozess von V8. Wenn JSON-Parsing erfolgt, werden kurze Strings automatisch in eine Hash-Tabelle interniert. Integer-ähnliche Strings kollidieren vorhersehbar, da sie auf ihre numerischen Werte gehasht werden, sodass Angreifer quadratische Sondierungsketten erzwingen können, die die Leistung erheblich beeinträchtigen.

Betroffene Komponenten

Der häufigste Auslöser ist jeder Endpunkt, der JSON.parse() auf angreiferkontrollierte Eingaben aufruft, da das JSON-Parsing kurze Strings automatisch in die betroffene Hash-Tabelle interniert.

Proof of Concept

Dieses Repository enthält einen Proof-of-Concept, der die Schwachstelle demonstriert:

Voraussetzungen

root@kitploit:~
# Verwenden Sie eine Node.js-Version, die von CVE-2026-21717 betroffen ist
nvm use
npm install

Ausführen des PoC

root@kitploit:~
node poc.js

Erwartetes Verhalten

Der PoC erstellt eine Nutzlast mit:

  • Einer quadratischen Sondierungskette von ~130.000 Strings
  • Wiederholten Zielwerten, die Lookups durch die Kette erzwingen
  • Ergebnis: ~44+ Sekunden CPU-Zeit für eine einzelne JSON.parse()-Operation

Angriffsablauf

  1. Angreifer erstellt eine feindselige JSON-Nutzlast mit Integer-ähnlichen Strings, die darauf ausgelegt sind, zu kollidieren
  2. Client sendet das bösartige JSON an den Server
  3. Server ruft JSON.parse() für die nicht vertrauenswürdige Eingabe auf
  4. V8-Engine interniert Strings in die Hash-Tabelle und löst Kollisionen aus
  5. Ergebnis Extreme CPU-Auslastung und Leistungsbeeinträchtigung

Gegenmaßnahmen

Empfohlene Maßnahmen

  1. Node.js aktualisieren auf eine gepatchte Version, die diese Schwachstelle behebt
  2. Eingabevalidierung: Begrenzen Sie Größe und Komplexität von JSON-Nutzlasten
  3. Ratenbegrenzung: Implementieren Sie Ratenbegrenzung für Endpunkte, die JSON-Eingaben akzeptieren
  4. Timeouts: Legen Sie angemessene Timeouts für JSON-Parsing-Operationen fest
  5. Ressourcenüberwachung: Überwachen Sie die CPU-Auslastung auf abnormale Spitzen

Gegenmaßnahmen auf Code-Ebene

root@kitploit:~
// Nutzlastgröße begrenzen
app.use(express.json({ limit: '100kb' }));

// Timeout für das Parsing hinzufügen
const parseWithTimeout = (str, timeout = 1000) => {
  return Promise.race([
    Promise.resolve(JSON.parse(str)),
    new Promise((_, reject) => 
      setTimeout(() => reject(new Error('Parse timeout')), timeout)
    )
  ]);
};

Referenzen

  • CVE-Details
  • Node.js-Sicherheitsblog

Haftungsausschluss

Dieses Repository dient ausschließlich Bildungs- und Forschungszwecken. Verwenden Sie diesen Code nicht für böswillige Zwecke oder gegen Systeme, die Sie nicht besitzen oder für die Sie keine ausdrückliche Berechtigung zum Testen haben.

Tool herunterladen