„`html
Zusammenfassung
CVE-2026-9802 beschreibt eine Sicherheitslücke in Keycloak, die unter spezifischen Konfigurationen zu einer Umgehung von Token-Revokation führt. Die Schwachstelle ermöglicht es Angreifern, zuvor gestohlene Refresh-Token nach deren offizieller Revokation erneut zu verwenden, wenn ein Serverneustart stattfindet und persistente Session-Speicherung aktiv ist.
Betroffene Systeme
Die Vulnerability betrifft verschiedene Versionen von Keycloak, insbesondere bei Deployments mit folgenden Konfigurationen:
- revokeRefreshToken=true aktiviert
- Persistente Session-Speicherung in Verwendung
- Multi-Node-Umgebungen mit Serverneustart-Szenarien
Technische Details
Der Fehler liegt in den internen Timing-Mechanismen von Keycloak. Wenn persistente Sessions verwendet werden, speichert das System Token-Revokationsinformationen mit Zeitstempel-basierten Validierungsmechanismen. Bei einem Serverneustart können diese In-Memory-Timing-Strukturen zurückgesetzt werden, ohne dass die persistierten Revokationsdaten vollständig neu validiert werden.
Ein Angreifer, der einen Refresh-Token vor dessen Revokation abgefangen hat, kann diesen nach dem Neustart erneut einreichen. Das System kann aufgrund des zurückgesetzten internen Zustands nicht korrekt verifizieren, ob der Token tatsächlich revoziert wurde. Dies führt zur Ausstellung neuer Access-Token und damit zu unbefugtem Zugriff.
Empfohlene Massnahmen
- Implementierung zusätzlicher Validierungsprotokolle für Refresh-Token unabhängig von internen Timing-Mechanismen
- Konsistente Synchronisation zwischen persistentem Speicher und In-Memory-Caches
- Monitoring von Token-Replay-Versuchen
- Evaluation von alternativen Session-Storage-Lösungen
- Regelmäßiges Audit der Revokationsfunktionalität in Produktionsumgebungen
Bewertung
CVSS-Score: 6.8 (Medium)
Die Schwachstelle erfordert spezifische Konfigurationen und vorherigen Zugriff auf Token, wodurch der Schweregrad als Medium eingestuft wird. Ein Patch steht derzeit nicht zur Verfügung.
„`