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
keycloak-cve-2026-18963-hunt — Suche nach Spuren der Ausnutzung von CVE-2026-18963 (nicht authentifizierte Kontoübernahme in Keycloak) in der Keycloak-Datenbank | Kitploit
Tools/GitHubGitHub/kyos-public/keycloak-cve-2026-18963-hunt
SchwachstellenanalyseDigitale ForensikAuthentifizierungIncident ResponseDatenbanksicherheitLog-Analyse
GitHubkyos-public/keycloak-cve-2026-18963-hunt

keycloak-cve-2026-18963-hunt

Suche nach Spuren der Ausnutzung von CVE-2026-18963 (nicht authentifizierte Kontoübernahme in Keycloak) in der Keycloak-Datenbank

Repository anzeigen
91vor 4h 37mNoch 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-18963: Keycloak-Kontoübernahme – Spurensuche nach Ausnutzung

Ein psql-Skript, das eine Keycloak-PostgreSQL-Datenbank nach Spuren der Ausnutzung von CVE-2026-18963 durchsucht (Kontoübernahme ohne Authentifizierung über den Reset-Credentials-Ablauf).

Veröffentlicht von KYOS. Wir haben es geschrieben, während wir die von uns betriebenen Keycloak-Installationen gepatcht haben, um zu überprüfen, dass während des Expositionszeitraums niemand übernommen wurde.

Die Schwachstelle

CVE-2026-18963 ist ein Fehler im Reset-Credentials-Ablauf von keycloak-services (keycloak#51833). Ein nicht authentifizierter Angreifer kann den Passwort-Reset-Prozess für jeden Benutzer abschließen, ohne den E-Mail-Verifizierungslink anzuklicken, und anschließend ein neues Passwort für das Konto setzen. Keine Benutzerinteraktion ist erforderlich.

Schweregrad: Kritisch, CVSS v3.1 9.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N), laut Red Hat und NVD. Ursache ist eine unzureichende Zustandsvalidierung im Authentifizierungsablauf, behoben in keycloak#51844.

Betroffene / behobene Versionen

StreamBehoben in
26.7.x26.7.2 (Versionshinweise)
26.6.x26.6.6
26.4.x (LTS)26.4.15
26.826.8.0

Alles unterhalb dieser Versionen in den unterstützten Streams ist verwundbar. Nicht mehr unterstützte Versionen (26.5.x, 26.3 und älter) erhalten keinen Fix: Gehen Sie von einer Gefährdung aus und aktualisieren Sie auf einen unterstützten Stream. Red Hat listet das Legacy-RH-SSO 7 als nicht betroffen; der Red Hat Build von Keycloak 26.4/26.6 ist in 26.4.15-1 / 26.6.6-1 behoben.

Workaround, wenn Sie nicht sofort patchen können

Das Deaktivieren des Self-Service-Passwort-Resets entfernt den verwundbaren Einstiegspunkt: Admin-Konsole > Realm-Einstellungen > Login > „Passwort vergessen“ aus, für jedes Realm. Über die Admin-API: PUT /admin/realms/{realm} mit {"resetPasswordAllowed": false}.

Dies blockiert den Endpunkt login-actions/reset-credentials, verhindert aber auch, dass legitime Benutzer ihr eigenes Passwort zurücksetzen können. Betrachten Sie dies daher nur als Übergangslösung, bis Sie aktualisieren. Beachten Sie, dass Red Hat für diese CVE keine unterstützte Abhilfemaßnahme listet; Patchen ist die einzige echte Lösung.

Was das Skript prüft

cve-2026-18963-keycloak-hunt.sql führt vier schreibgeschützte Abfragen aus:

AbfrageWas sie findet
Q0Ob das Realm überhaupt Login-/Admin-Events speichert und deren TTL. Wenn Events deaktiviert oder abgelaufen sind, beweisen leere Ergebnisse in Q2/Q3 nichts.
Q1Jede Passwort-Anmeldeinformation, die innerhalb des Expositionszeitraums gesetzt wurde (credential.created_date). Das ist die Übernahme selbst und funktioniert auch, wenn die Event-Protokollierung deaktiviert war.
Q2Reset-/Credential-Login-Events, die jeden abgeschlossenen Reset ohne SEND_RESET_PASSWORD in den vorherigen 24 Stunden markieren (no_email_before = t). Dieses Flag ist die CVE-Signatur: Der Angreifer hat die E-Mail nie ausgelöst.
Q3Admin-API-Credential-Resets und Execute-Actions-Operationen, um die Admin-gesteuerte Route auszuschließen.

Verwendung

root@kitploit:~
# defaults: realm 'master', window since 2026-06-01
psql -U keycloak -d keycloak -f cve-2026-18963-keycloak-hunt.sql

# explicit realm and window (run once per realm, quote values exactly like this)
psql -U keycloak -d keycloak \
  -v realm="'myrealm'" -v since="'2026-05-01'" \
  -f cve-2026-18963-keycloak-hunt.sql

Setzen Sie since auf einen Zeitpunkt kurz bevor Ihre verwundbare Version live ging. Auf Kubernetes:

root@kitploit:~
kubectl exec -it my-postgres-pod -- \
  psql -U keycloak -d keycloak -v realm="'myrealm'" -v since="'2026-05-01'" \
  -f - < cve-2026-18963-keycloak-hunt.sql

Ergebnisse interpretieren

Zeilen in Q1 sind nicht automatisch Kompromittierungen. Gleichen Sie jede mit einer bekannten legitimen Ursache ab (Self-Service-Reset, Helpdesk-Aktion, neue Registrierung) und behandeln Sie alles Ungeklärte als Kandidat für eine Übernahme.

Q2-Zeilen mit no_email_before = t bei RESET_PASSWORD, UPDATE_CREDENTIAL oder UPDATE_PASSWORD sind der stärkste Indikator dafür, dass diese CVE ausgenutzt wurde. Korrelieren Sie die Spalte ip_address mit Ihren Zugriffsprotokollen.

Prüfen Sie zuerst Q0: Login-Events laufen ab (events_expiration) und können vollständig deaktiviert sein. Q1 läuft nicht ab und ist daher die zuverlässigste Prüfung.

Wenn Sie eine Übernahme finden

  1. Deaktivieren Sie das betroffene Konto oder erzwingen Sie einen Passwort-Reset über einen vertrauenswürdigen Kanal.
  2. Widerrufen Sie die Sitzungen und Offline-Tokens des Kontos (Admin-Konsole > Sitzungen) und rotieren Sie alle Geheimnisse, auf die es zugreifen konnte.
  3. Erweitern Sie die Untersuchung: Reverse-Proxy-/Ingress-Logs rund um die Zeitstempel und IPs aus Q2, Aktionen, die vom Konto nach der Änderung der Anmeldedaten ausgeführt wurden, sowie nachgelagerte Anwendungen, die über Keycloak föderiert sind.

Einschränkungen

  • Schreibgeschützt, aber führen Sie es bevorzugt gegen eine Replik oder ein Backup aus.
  • Geschrieben für Keycloak 26.x auf PostgreSQL. Tabellennamen sind über neuere Versionen hinweg stabil, aber verifizieren Sie sie auf anderen Datenbanken oder älteren Versionen.
  • Keine Treffer sind kein Beweis für eine fehlende Kompromittierung (siehe Q0), insbesondere bei kurzer Event-Aufbewahrung oder deaktivierter Protokollierung.

Lizenz

MIT, siehe LICENSE. Bereitgestellt wie besehen, ohne Gewährleistung.

Tool herunterladen