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-Lab — Bibliotheksebene Proof-of-Concept-Labor zur Demonstration von CVE-2026-29000 in pac4j-jwt, das verwundbare und gepatchte Versionen mit Docker vergleicht, um die Akzeptanz und Ablehnung gefälschter JWTs zu zeigen. | Kitploit
Tools/GitHubGitHub/rootdirective-sec/cve-2026-29000-lab
SchwachstellenanalyseExploitationWebsicherheitAuthentifizierung
GitHubrootdirective-sec/cve-2026-29000-lab

CVE-2026-29000-Lab

Bibliotheksebene Proof-of-Concept-Labor zur Demonstration von CVE-2026-29000 in pac4j-jwt, das verwundbare und gepatchte Versionen mit Docker vergleicht, um die Akzeptanz und Ablehnung gefälschter JWTs zu zeigen.

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-29000 — pac4j-jwt Bibliotheks-Level-PoC-Labor

TL;DR

Dieses Repository enthält einen Bibliotheks-Level-PoC für CVE-2026-29000 in pac4j-jwt.

Es vergleicht verwundbares und gepatchtes Verhalten anhand von zwei Fällen:

  • Baseline: Ein legitimes Token sollte akzeptiert werden
  • Angriff: Ein gefälschtes Token sollte auf verwundbaren Versionen akzeptiert und auf der gepatchten Version abgelehnt werden
VersionBaselineAngriffErgebnis
6.0.3✅✅Verwundbar
6.0.4.1✅✅Verwundbar
6.3.3✅❌Gepatcht

Dieser PoC demonstriert die Erstellung authentifizierter Profile mit angreiferkontrolliertem Subject und Rollen auf verwundbaren Versionen, während die gepatchte Version das gefälschte Token ablehnt.


Was dieses Projekt ist

Dies ist keine Webanwendungs-Demo.

Es ist ein kleines Java-Programm, das JwtAuthenticator direkt aufruft und mehrere Versionen von pac4j-jwt innerhalb von Docker vergleicht.

Das Ziel ist es, drei Dinge zu beweisen:

  1. legitime Token funktionieren weiterhin
  2. gefälschte, angreiferkontrollierte Claims werden von verwundbaren Versionen akzeptiert
  3. gefälschte, angreiferkontrollierte Claims werden von der gepatchten Version abgelehnt

Warum diese Versionen ausgewählt wurden

Die getesteten Versionen wurden bewusst gewählt:

  • 6.0.3 — aufgenommen, weil ein öffentlicher technischer Bericht einen funktionierenden PoC auf dieser Version meldete
  • 6.0.4.1 — aufgenommen, weil öffentliche Advisory-Daten sie innerhalb des betroffenen 6.x-Bereichs einordnen
  • 6.3.3 — aufgenommen, weil es das Fix-Release für die 6.x-Linie ist

Dies gibt dem Labor drei nützliche Referenzpunkte:

  • eine öffentliche PoC-Referenzversion
  • eine advisory-bestätigte betroffene Version
  • die gepatchte Version

Projektstruktur

root@kitploit:~
.
├── docker-compose.yml
├── Dockerfile
├── pom.xml
└── src/main/java/lab/Repro.java

Dateirollen

  • docker-compose.yml Definiert die Testmatrix für jede Version.

  • Dockerfile Baut und führt den PoC innerhalb eines Containers aus.

  • pom.xml Definiert Abhängigkeiten und baut ein ausführbares Fat-JAR.

  • src/main/java/lab/Repro.java Das eigentliche PoC-Harness.


Was die Dienste bedeuten

Die Datei docker-compose.yml definiert drei Dienste:

  • v603 = testet pac4j-jwt 6.0.3
  • v6041 = testet pac4j-jwt 6.0.4.1
  • patched = testet pac4j-jwt 6.3.3

Diese Befehle bedeuten also „führe den PoC einmal gegen diese spezifische Version aus“:

root@kitploit:~
docker compose run --rm v603
docker compose run --rm v6041
docker compose run --rm patched

--rm bedeutet, dass der temporäre Container nach Abschluss des Laufs entfernt wird.


So führen Sie es aus

Build

root@kitploit:~
docker compose build --no-cache

Ausführen

root@kitploit:~
docker compose run --rm v603
docker compose run --rm v6041
docker compose run --rm patched

Was der PoC tut

Für jede Version führt das Programm zwei Fälle aus.

1) Baseline

Es generiert ein legitimes Token und validiert es über JwtAuthenticator.

Erwartetes Ergebnis:

  • auf allen getesteten Versionen akzeptiert

2) Angriff

Es generiert ein gefälschtes Token mit angreiferkontrollierten Claims und validiert es über JwtAuthenticator.

Erwartetes Ergebnis:

  • verwundbare Versionen → gefälschte Identität akzeptiert
  • gepatchte Version → gefälschtes Token abgelehnt

So lesen Sie die Ausgabe

Verwundbare Ausgabe

Sie sollten etwas wie Folgendes sehen:

root@kitploit:~
[case] baseline
  result: ACCEPTED
  observed_subject: alice
  observed_roles: [ROLE_USER]

[case] attack
  result: ACCEPTED
  observed_subject: admin#override
  observed_roles: [ROLE_SUPERUSER, ROLE_ADMIN]

[summary]
  conclusion: VULNERABLE: forged token accepted

Bedeutung:

  • das normale Token funktioniert
  • das gefälschte Token wird ebenfalls akzeptiert
  • Subject und Rollen wurden durch angreiferkontrollierte Werte ersetzt

Gepatchte Ausgabe

Sie sollten etwas wie Folgendes sehen:

root@kitploit:~
[case] baseline
  result: ACCEPTED
  observed_subject: alice
  observed_roles: [ROLE_USER]

[case] attack
  result: REJECTED
  reason: CredentialsException: A non-signed JWT cannot be accepted as signature configurations have been defined

[summary]
  conclusion: PATCHED: forged token rejected

Bedeutung:

  • das normale Token funktioniert
  • das gefälschte Token wird abgelehnt
  • die gepatchte Version akzeptiert den nicht signierten inneren JWT-Pfad, der vom Angriff verwendet wird, nicht mehr

Warum sich dieses Repository auf Bibliotheksverhalten konzentriert statt auf ein generisches Token-Skript

Diese CVE betrifft einen Bibliotheks-Level-Authentifizierungspfad, nicht eine einzelne Anwendung mit einem universellen Rollenmodell.

Der wiederverwendbare Teil ist die Angriffsform:

  • gefälschte, angreiferkontrollierte Claims
  • als JWE verschlüsselt
  • an JwtAuthenticator übergeben

Was nicht universell über reale Anwendungen hinweg ist:

  • Claim-Namen
  • Rollennamen
  • Autorisierungszuordnung
  • Schlüsselmaterial / JWKS-Setup
  • anwendungsspezifische Profilverarbeitung

Aus diesem Grund konzentriert sich dieses Repository darauf zu beweisen, dass die Bibliothek gefälschte, angreiferkontrollierte Claims auf verwundbaren Versionen akzeptiert, anstatt so zu tun, als gäbe es ein universelles Token, das automatisch gegen beliebige Anwendungen funktionieren würde.


Screenshots

  1. docker compose run --rm v603
  2. docker compose run --rm v6041
  3. docker compose run --rm patched

Verwundbare Version: 6.0.3

example 603 output

Verwundbare Version: 6.0.4.1

example 6041 output

Gepatchte Version: 6.3.3

example patched output


Referenzen

  • pac4j-Sicherheitsadvisory für JwtAuthenticator
  • GitHub Advisory Database: CVE-2026-29000
  • NVD-Eintrag: CVE-2026-29000
  • CodeAnt technischer Bericht: Public-Key-Authentifizierungs-Bypass-PoC

Abschließende Erkenntnis

Dieses Projekt demonstriert drei Kernfakten:

  1. legitime Baseline-Token werden auf allen getesteten Versionen akzeptiert
  2. gefälschte, angreiferkontrollierte Claims werden auf 6.0.3 und 6.0.4.1 akzeptiert
  3. gefälschte, angreiferkontrollierte Claims werden auf 6.3.3 abgelehnt

Dies ist der Kernbeweis für verwundbar-gegenüber-gepatcht für diese CVE in diesem Repository.

Auf verwundbaren Versionen wird das gefälschte Token nicht nur geparst — es erzeugt ein authentifiziertes Profil mit angreiferkontrolliertem Subject und Rollen.

Tool herunterladen