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-65945-poc — PoC für CVE-2025-65945 (Unzureichende Überprüfung der kryptografischen Signatur in node-jws) | Kitploit
Tools/GitHubGitHub/jedisct1/cve-2025-65945-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationKryptographiePenetrationstestsAuthentifizierung
GitHubjedisct1/cve-2025-65945-poc

CVE-2025-65945-poc

PoC für CVE-2025-65945 (Unzureichende Überprüfung der kryptografischen Signatur in node-jws)

Repository anzeigen
51vor 8 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-65945: node-jws Signaturumgehung

Dies ist ein Proof of Concept für eine Signaturverifikationsumgehung in der Bibliothek node-jws. Der Fehler ermöglicht es Angreifern, gültige JWTs zu fälschen, wenn der Server HMAC-Geheimnisse aus benutzergesteuerten Daten ableitet.

Was ist der Fehler?

Die Funktion jws.createVerify() validiert nicht, dass bei Verwendung von HMAC-Algorithmen tatsächlich ein Geheimnis bereitgestellt wurde. Wenn Ihre App Geheimnisse basierend auf etwas im JWT (wie einem kid-Header) nachschlägt und dieser Lookup fehlschlägt, könnte es passieren, dass Sie gegen ein leeres Geheimnis verifizieren.

Ein Angreifer kann dies ausnutzen, indem er:

  1. Ein JWT mit einer gefälschten Schlüssel-ID sendet, die in Ihrer Datenbank nicht existiert
  2. Seine schädliche Nutzlast mit einem leeren String als Geheimnis signiert
  3. Der Lookup Ihres Servers gibt undefined zurück, das zu einem leeren String umgewandelt wird
  4. Beide Seiten stimmen nun dem „Geheimnis" (leerer String) zu, sodass die Signatur gültig ist

Der Angreifer kann sich nun als beliebige Person ausgeben oder sich selbst Administratorrechte gewähren.

Betroffene Versionen

  • jws 3.2.2 und früher
  • jws 4.0.0

Aktualisieren Sie auf 3.2.3+ oder 4.0.1+, um dies zu beheben.

Ausführen des PoC

Stellen Sie sicher, dass Bun installiert ist, und führen Sie dann Folgendes aus:

root@kitploit:~
# Installiere die verwundbare Version
bun install [email protected]

# Führe den Exploit aus
bun run exploit.js

Sie sollten eine Ausgabe sehen, die zeigt, dass ein gefälschtes Admin-Token als gültig akzeptiert wird.

Was macht der Exploit?

Der PoC simuliert einen Server, der:

  • Einen Secretspeicher mit ein paar API-Schlüsseln besitzt
  • Geheimnisse basierend auf dem kid (Schlüssel-ID) Header des JWT nachschlägt
  • createVerify() mit der Streaming-API verwendet

Der Angreifer erstellt ein JWT mit kid: "non-existent-key" und signiert es mit einem leeren Geheimnis. Wenn der Server versucht, diesen Schlüssel nachzuschlagen, erhält er undefined, schreibt einen leeren String in den Verifikationsstream, und das gefälschte Token besteht die Validierung.

Testen des Fixes

root@kitploit:~
# Upgrade auf die gepatchte Version
bun install [email protected]

# Erneut ausführen – sollte jetzt fehlschlagen
bun run exploit.js

Mit der gepatchten Version wird ein Fehler angezeigt: secret must be a string or buffer or a KeyObject. Der Fix stellt sicher, dass HMAC-Operationen vor der Ausführung ein ordentliches Geheimnis haben.

Das anfällige Code-Muster

Wenn Ihr Code so aussieht, könnten Sie betroffen sein:

root@kitploit:~
const decoded = jws.decode(token);
const secret = lookupSecret(decoded.header.kid); // könnte undefined zurückgeben!

const verifier = jws.createVerify({
  algorithm: "HS256",
  signature: token,
});

verifier.secret.write(secret); // oops
verifier.secret.end();

Referenzen

  • GitHub Advisory
  • Fix commit
Tool herunterladen