CVE-2026-90997 : rejeu de JWT, DPoP et TOTP en mode stateless Keycloak
Veille sécuritéIdentité & accès
P3Élevée

Une mise à jour substantielle de l’enregistrement CVE documente un contournement de protection anti-rejeu dans Keycloak stateless avec MySQL ou MariaDB, affectant notamment les assertions client JWT, preuves DPoP et codes TOTP à usage unique.

KeycloakMySQLMariaDBJWTDPoPTOTP
IdentifiantCVE-2026-90997
EPSS0,4%
Exploitationaucune connue selon la source
Correctif26.7.4

Analyse technique

La sémantique par défaut du nombre de lignes renvoyé par le pilote MySQL/MariaDB ne correspondait pas à l’hypothèse de la logique applicative Keycloak. Lors de l’enregistrement d’un artefact déjà consommé, cette divergence pouvait faire accepter son rejeu comme une première utilisation.

Impact, versions et correctif

VecteurRéseau, après interception d’un artefact d’authentification à usage unique.
PréconditionsKeycloak doit être déployé en mode stateless avec MySQL ou MariaDB ; l’attaquant doit intercepter un artefact valide à durée de vie courte.
ImpactAuthentification non autorisée au token endpoint ou dans un flux de connexion via rejeu d’artefacts de sécurité.
Versions affectéesKeycloak 26.7.0 à une version antérieure à 26.7.4.
Version corrigée26.7.4
ContournementConfigurer useAffectedRows=true dans la chaîne JDBC MySQL/MariaDB lorsque Keycloak utilise le mode stateless, puis redémarrer le service.
Exploitation activeaucune connue selon la source
PoC publicinconnu
CVSS7.4 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
EPSS0,40% · percentile 33,6%
Publication2026-09-17T19:17:06.740Z
Mise à jour2026-09-21T21:17:16.010Z

Détection / vérification

Rechercher la réutilisation d’identifiants d’artefacts, d’assertions client, de preuves DPoP ou de codes TOTP dans les journaux d’authentification et du token endpoint.

Action recommandée

Passer à Keycloak 26.7.4 ou plus récent ; à défaut, appliquer immédiatement useAffectedRows=true aux déploiements stateless MySQL/MariaDB.

Sources

Priorisation DFS : P3 · confiance de recoupement élevée · 3 source(s).