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-29000-PoC — CVE-2026-29000 - pac4j-jwt (< 4.5.9 / < 5.7.9 / < 6.3.3) JwtAuthenticator Authentifizierungsumgehung PoC | Kitploit
Tools/GitHubGitHub/dua2z3rr/cve-2026-29000-poc
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsAuthentifizierungLernen & Bildung
GitHubdua2z3rr/cve-2026-29000-poc

CVE-2026-29000-PoC

CVE-2026-29000 - pac4j-jwt (< 4.5.9 / < 5.7.9 / < 6.3.3) JwtAuthenticator Authentifizierungsumgehung PoC

Repository anzeigen
1vor 1 MonatNoch 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-29000 — pac4j-jwt JwtAuthenticator PoC zur Authentifizierungsumgehung

Ein Proof-of-Concept für CVE-2026-29000, eine Authentifizierungsumgehung in der pac4j-jwt JwtAuthenticator-Komponente (CVSS 10.0, Kritisch).

Das Skript fälscht einen Token, der jeden Benutzer mit jeder Rolle impersoniert – ohne ein einziges Geheimnis zu kennen – solange das Ziel seinen RSA-öffentlichen Schlüssel bereitstellt.

[!WARNING] Dieses Tool wird nur für Bildungszwecke und autorisierte Sicherheitstests bereitgestellt. Es wurde geschrieben, um die Hack The Box-Maschine "Principal" zu lösen, und die Standardwerte (iss, role, kid) sind auf diese Box zugeschnitten. Verwenden Sie es nur gegen Systeme, die Ihnen gehören oder für deren Test Sie ausdrücklich autorisiert wurden.


Die Schwachstelle

pac4j-jwt-Versionen < 4.5.9, < 5.7.9 und < 6.3.3 enthalten einen Logikfehler in JwtAuthenticator bei der Verarbeitung verschlüsselter JWTs (JWE).

Wenn JwtAuthenticator ein JWE entschlüsselt, versucht es, das innere Token als SignedJWT zu parsen. Wenn das innere Token ein unsigniertes PlainJWT (alg: none) ist, wird das SignedJWT-Objekt null und aufgrund des Logikfehlers wird der Signaturverifikationspfad vollständig übersprungen. Der Authentifikator erstellt dann ein Benutzerprofil direkt aus den unverifizierten Claims.

Mit anderen Worten: Die äußere JWE-Verschlüsselung – die nur den öffentlichen Schlüssel des Servers erfordert – wird fälschlicherweise als Authentizitätsnachweis angesehen, sodass jeder Angreifer, der den öffentlichen Schlüssel lesen kann, vollständig vertrauenswürdige Token erstellen kann.

Angriffskette

  1. Den RSA-öffentlichen Schlüssel des Ziels von seinem JWKS-Endpunkt abrufen (z. B. /api/auth/jwks).
  2. Ein unsigniertes PlainJWT (alg: none) mit vom Angreifer gewählten Claims (sub, role, iss, …) fälschen.
  3. Dieses PlainJWT in eine JWE-Hülle einwickeln, die mit dem öffentlichen Schlüssel des Ziels verschlüsselt ist.
  4. Das resultierende kompakte JWE als Bearer-Token senden. Der anfällige JwtAuthenticator entschlüsselt es, überspringt die Signaturverifikation und vertraut den gefälschten Claims.

Anforderungen

  • Python 3.8+
  • Abhängigkeiten aus requirements.txt:
root@kitploit:~
pip install -r requirements.txt

(requests, jwcrypto, cryptography)


Verwendung

root@kitploit:~
python3 exploit.py -u <username> [options]

Optionen

Sie müssen entweder --target (um die JWKS über das Netzwerk abzurufen) oder --jwks-file (um sie lokal bereitzustellen) angeben.

Beispiele

Fälschen eines Admin-Tokens durch Abrufen des öffentlichen Schlüssels vom Ziel und Ausgabe auf stdout:

root@kitploit:~
python3 exploit.py -t http://target:8080 -u admin

Token fälschen und automatisch gegen einen geschützten Endpunkt testen:

root@kitploit:~
python3 exploit.py -t http://target:8080 -u admin \
    --verify-endpoint /api/settings -v

Eine lokal gespeicherte JWKS verwenden und den Token in einer Datei speichern:

root@kitploit:~
python3 exploit.py --jwks-file jwks.json -u admin -o token.jwe

Behebung

Aktualisieren Sie org.pac4j:pac4j-jwt auf eine gepatchte Version:

  • 4.x-Reihe → 4.5.9 oder neuer
  • 5.x-Reihe → 5.7.9 oder neuer
  • 6.x-Reihe → 6.3.3 oder neuer

Lizenz

Veröffentlicht unter der MIT-Lizenz.

Tool herunterladen
FlagBeschreibungStandard
-t, --targetBasis-URL des Ziels (z. B. http://host:8080)—
--jwks-urlJWKS-Endpunkt-Pfad/api/auth/jwks
--jwks-fileLädt JWKS aus einer lokalen Datei anstatt von --target abzurufen—
-u, --usernameWert für den sub-Claim (erforderlich)—
--roleWert für den role-ClaimROLE_ADMIN
--issWert für den iss-Claimprincipal-platform
--expToken-Gültigkeit in Sekunden3600
--verify-endpointGeschützter Endpunkt zum Testen des gefälschten Tokens (z. B. /api/settings)—
-k, --insecureTLS-Zertifikatsprüfung deaktivierenaus
-o, --outputSchreibt das gefälschte JWE in eine Datei anstatt auf stdoutstdout
-v, --verboseGibt die gefälschte JWT-Nutzlast auf stderr ausaus