Intel

AIKIDO-2026-231234

keycloak-model-jpa is vulnerable to Authentication Bypass by Capture-replay

Authentication Bypass by Capture-replayCVE-2026-90997 Published Sep 30, 2026

74

High Risk

This Affects:

JAVAkeycloak-model-jpa
26.7.0 - 26.7.3
Fixed in 26.7.4
Are you affected? Scan for Free

TL;DR

keycloak-model-jpa records single use objects with an upsert and accepts the write as a first use when the database reports one affected row. On MySQL and MariaDB, the default driver reports a matched but unchanged row as one affected row, so putIfAbsent returns success for a key that is already stored. An attacker who intercepts a JWT client assertion, a DPoP proof, or a TOTP code can submit that artifact again at the token endpoint or login flow and obtain unauthorized access. The fix deletes expired rows and uses INSERT IGNORE on those databases so a reused key does not count as a new insert.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and Keycloak runs in stateless mode with MySQL or MariaDB.

Background info

keycloak-model-jpa is vulnerable to Authentication Bypass by Capture-replay in versions 26.7.0 - 26.7.3.

How to fix this

Upgrade the org.keycloak:keycloak-model-jpa library to the patch version.

Are You Affected?

Connect your repositories to instantly see whether vulnerable or malicious packages exist in your codebase.

Free. No credit card required.

Aikido Platform