Keycloak CVEs, release by release
Every Keycloak release fixes security issues, and a CVE score rarely tells you whether your deployment is exposed. For each release, we explain the critical and high CVEs in a few lines: who is affected, and how to mitigate until you upgrade.
Keycloak 26.8.1
Released Oct 13, 2026
27 CVEs
Release announcementAll HIGH CVEs from this release come from dependencies, exposure to those CVEs is unlikely.
simple-git4 CVEs
simple-git is only used by the create-keycloak-theme scaffolding tool and isn't packaged in Keycloak, so running instances aren't affected.
- Critical9.2
- Critical9.2
- High8.1
- High8.1
jackson-databind5 CVEs
Five jackson-databind CVEs, mostly denial of service through crafted JSON. They only apply where Keycloak deserialises attacker-controlled JSON with the affected features (object identity, polymorphic typing, Path or Duration types).
- High7.5
- High7.5
- High7.5
- Medium5.6
- Medium5.3
14 medium and 4 low CVEs
- Medium6.8
Conditional OTP trusts skip headers on untrusted proxy paths
- Medium6.8
Potential KDC spoofing attack when Kerberos password authentication is enabled
- Medium6.8
Standard Token Exchange bypasses required mTLS certificate binding and issues an active bearer token when no client certificate is supplied
- Medium6.6
A delegated admin with only manage-users can become realm-admin by joining (or being created into) a group that maps an admin role
- Medium6.6
Generic user update bypasses denied reset-password permission
- Medium6.5
Path traversal via X.509 CRL Distribution Point - client-supplied CRL path escapes $KC_HOME/conf
- Medium6.5
SMTP starttls=true permits plaintext credential and message downgrade
- Medium6.5
Admin credential DELETE bypasses denied reset-password permission
- Medium6.4
Persistent wrong-account linking through null / GitHub identity provider
- Medium5.5
OIDC identity provider update reuses masked client secret after token URL changes
- Medium5.5
Cross-realm realm resource read/write via per-request session-level cache in RealmCacheSession
- Medium4.9
Missing user view authorization in the Authorization Services policy evaluation endpoint, possible incomplete fix of CVE-2026-37978
- Medium4.3
Broken access control in Admin REST API: roles/{role-name}/groups discloses groups the caller cannot view (incomplete fix of the 26.7.2 hardening)
- Medium4.2
PAR single-use bypass via prompt=none
- Low3.7
OIDC broker backchannel logout accepts unsigned forged logout tokens when signature validation is disabled
- Low3.7
Unbounded metric series creation via idp tag on broker login endpoint
- Low3.5
UMA scope merge across resource owners via name collision in resolveResourcePermission
- Low3.1
2FA setup enforcement bypass via /realms/{realm}/login-actions/restart
Keycloak 26.8.0
Released Oct 1, 2026
6 CVEs
Release announcementNo major CVE in this release.
6 medium CVEs
- Medium6.5
IdP mapper admin role escalation
- Medium6.5
jackson-databindjackson-databind: @JsonView bypassed for @JsonUnwrapped container properties on deserialization
- Medium6.5
netty-codec-httpNetty Vulnerable to Cache Poisoning and Information Disclosure via CORS Vary Header Overwrite
- Medium5.3
Name-only group claims let same-name groups satisfy path-specific group policies
- Medium5.3
jackson-databindjackson-databind has case-insensitive deserialization bypasses per-property @JsonIgnoreProperties
- Medium4.8
OIDC broker applies id_token email_verified to userinfo email, marking unverified addresses as verified
Keycloak 26.7.5
Released Sep 30, 2026
14 CVEs
Release announcementThe four higher-rated CVEs come from Keycloak dependencies, so the score does not reflect Keycloak's actual exposure. Two of them would need custom code to become vulnerable, and the other two only impact deployments running in FIPS mode.
- Critical9.1
By default, Keycloak does not pass a user-controlled locale or template name to FreeMarker template loading, but a custom extension could. In that case, an attacker could access other files reachable by FreeMarker's template loader.
- High8.7
bc-fipsIf you run Keycloak in FIPS mode, an out-of-memory issue can be caused under heavy load when Java finalizers can't keep up with objects being created.
- High8.7
bc-fipsIf you run Keycloak in FIPS mode, on Intel hosts where the CPU's random-number instructions keep failing, the crypto library retries forever and can hang a thread indefinitely.
- High8.6
owasp-java-html-sanitizerThe OWASP Java HTML sanitizer is vulnerable to XSS if HtmlPolicyBuilder allows
noscriptandstyletags withallowTextIninside the style tag. This does not happen in Keycloak's own sanitizer policies but could happen in some custom extensions.
8 medium and 2 low CVEs
- Medium6.5
Group policy child-extension matches sibling group path prefixes
- Medium6.5
Source-group condition matches duplicate group names and can skip negative-logic enforcement
- Medium6.5
Inactive out-of-audience introspection responses can include a signed JWT claim
- Medium6.5
Device Authorization Grant issues tokens to brute-force-locked accounts (sibling of CVE-2026-9798)
- Medium4.9
Confidential client secret disclosed to view-clients role via Client Registration GET
- Medium4.3
Incomplete fix for CVE-2026-9798 (Keycloak CIBA brute-force lockout bypass at token redemption)
- Medium4.2
Secure-client-uris localhost exception accepts localhost-prefixed attacker domains
- Medium4.2
token-exchange refresh continues issuing tokens for a disabled audience client
- Low3.7
Client policy source-host wildcard domains match non-subdomain suffixes
- Low3.4
SAML Redirect Binding Parameter Pollution
Keycloak 26.7.4
Released Sep 16, 2026
6 CVEs
Release announcement- High8.1
The policy enforcer that protects applications by matching incoming web requests against defined security policies failed to correctly handle web addresses that contain special encoded characters. An authenticated user could trick the enforcer into applying a less restrictive security policy to gain unauthorized access to some endpoints.
- High7.5
A helper in the SAML Redirect Binding implementation does not release native memory after use. Sending repeated malformed SAML requests could lead to native memory exhaustion and a denial of service.
- High7.5
The theme localization endpoints accept arbitrary locale tags in requests and store them permanently in memory without limits. Sending a sufficient number of tags could cause the service to run out of memory and crash.
- High7.2
A user with the impersonation role can impersonate a realm administrator, allowing them to gain full administrative control over the realm, including the ability to manage users, clients, and roles.
- Unrated
When using MySQL or MariaDB as the database in stateless mode, the replay protection mechanism for single-use security artifacts fails to detect reuse due to a row-count semantics mismatch between the database driver's default configuration and Keycloak's application logic. An attacker who intercepts one of these short-lived artifacts can replay it to obtain unauthorized access.
1 medium CVE
- Medium5.3
Username Takeover Leading to Account Lockout
Keycloak 26.7.3
Released Aug 31, 2026
20 CVEs
Release announcementThe release contained only one High CVE, coming from a dependency which didn't impact instances running in production: it was not packaged in Keycloak, only used for integration tests.
- High8.8
api-ldap-client-apiThis LDAP client is only used by Keycloak's integration tests and isn't packaged in Keycloak, so instances running in production aren't affected.
18 medium and 1 low CVEs
- Medium6.8
Microsoft external access-token exchange bypasses configured tenant
- Medium6.8
Google external access-token exchange bypasses hosted-domain restriction
- Medium6.6
FGAP V2: Group assignment bypass during user creation (POST /users) allows adding unpermitted groups
- Medium6.5
Information disclosure: GET /roles/{role}/users returns user PII without the per-user view filter
- Medium6.5
UMA claim token can override the authorization time-policy clock
- Medium6.5
Client access-type condition evaluates updates against the old client type
- Medium5.9
Keycloak jwt-bearer authorization grant does not enforce consentRequired
- Medium5.5
Generic identity-provider creation can bind brokers to organizations without manage-organizations
- Medium5.4
Required signed-JWT assertion policy can be bypassed with unsigned assertion headers
- Medium5.4
Authorization codes can be retargeted to another client session
- Medium5.4
Full-scope-disabled client policy validation can be bypassed by omitting fullScopeAllowed
- Medium4.9
Organization managers can create managed members through stored registration links without manage-users
- Medium4.9
Missing per-role authorization on RoleContainerResource composite endpoints
- Medium4.9
Incorrect authorization in admin role-composite deletion allows delegated admin to remove privileged child roles
- Medium4.9
Incomplete fix for CVE-2026-9083 — relative path traversal still enables filesystem probing in 26.6.4
- Medium4.3
Realm default-group reads disclose hidden groups under FGAP v2
- Medium4.3
Authenticator config surfaces expose raw reCAPTCHA secrets
- Medium4.2
Client not-before revocation is ignored when realm not-before is older but nonzero
- Low3.4
Incomplete fix for redirect_uri OIDC response-parameter injection: forbidden-parameter check (commit 18832bca) inspects only the query string, not the URL fragment
Keycloak 26.7.2
Released Aug 19, 2026
8 CVEs
Release announcementThis release contains one CRITICAL CVE and most deployments are affected. Read the detailed explanation for mitigation and upgrade your Keycloak deployment.
- Critical9.1
If the Forgot password setting is enabled, an unauthenticated attacker could force a password reset without clicking the required email verification link, and get access to any user account by setting new credentials.
Workaround
Disable the Forgot password flow for all users while you upgrade your Keycloak version.
- High7.3
If you use identity brokering and the legacy client-initiated account-linking endpoint, an attacker could use a malicious OIDC client and trick a user into authenticating to connect the victim's account to an external identity they control. The attacker could then log in as the victim.
If you use this legacy endpoint, check the migration guide: the fix comes with a breaking change.
6 medium CVEs
- Medium6.5
jackson-databindjackson-databind: @JsonIgnore on a Record property is bypassed with a PropertyNamingStrategy
- Medium6.5CVE-2026-59889GHSA-5gvw-p9qm-jgwh
jackson-databindjackson-databind: @JsonView bypassed for @JsonUnwrapped container properties on deserialization
- Medium5.5
Keycloak Admin REST API Leaks Vault-Resolved Rotated Client Secrets
- Medium5.3
opentelemetry-apiOpenTelemetry Java SDK has Unbounded Memory Allocation in W3C Baggage Propagation
- Medium4.3
Keycloak 26.6.3 Fine-Grained Admin Permissions Bypass via Role Groups Endpoint
- Medium4.3
Group hierarchy search discloses hidden parent groups under FGAP v2
No CVE matches your filters.