# CVE-2026-110931: Keycloak-services: keycloak-services: unauthenticated jvm termination via saml 1.1 authoritybinding parsing loop

Status: published. Published: 2026-11-05. Updated: 2026-11-06.

A flaw was found in the SAML 1.1 assertion parser of Keycloak, a tool used for identity and access management. The issue occurs when the parser handles a specific element called AuthorityBinding within an authentication statement. Due to an incomplete fix for a previous vulnerability, the parser can enter an infinite loop that consumes all available memory, causing the entire Keycloak service to crash and become unavailable to users.

## Remediation

- workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

--- CME Mitigation Guidance (2026-11-06) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.

The highest-value action is to advance parser state past AuthorityBinding elements during SAML 1.1 AuthenticationStatement processing in keycloak-saml-core to halt unbounded heap allocation: upgrade to Keycloak 26.4.17, 26.6.8 (or the fixed Rhbk/Keycloak Rhel/Keycloak Services builds), which advance the parser past AuthorityBinding child elements during SAML 1.1 AuthenticationStatement processing, closing all 2 injection vectors (crafted SAML request to realm SAML endpoint, crafted SAML request to SAML identity provider broker endpoint). Until patched, this is a concern on Keycloak deployments exposing realm SAML endpoints or SAML identity provider broker endpoints, so Restrict network access to Keycloak realm SAML endpoints and SAML identity provider broker endpoints to trusted networks and identity providers. As a compensating measure, Configure systemd WatchdogSec and Restart directives to automatically restart Keycloak following JVM OutOfMemoryError termination and Monitor cgroup memory.events and PSI metrics to detect anomalous memory pressure and rapid heap exhaustion. These controls limit blast radius and contain exploitation, but they do not fix the underlying SAML 1.1 parser infinite loop defect — apply the upstream patch to fully remediate.

Highest-impact CME: CME-1204 Service Watchdog and Automatic Restart (systemd WatchdogSec/Restart) (medium) (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat build of Keycloak 26.4 (rhbk/keycloak-operator-bundle): ≥ 26.4.17-2; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.4 (rhbk/keycloak-rhel9): ≥ 26.4-29; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.4 (rhbk/keycloak-rhel9-operator): ≥ 26.4-30; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.4.17 (rhbk/keycloak-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6 (rhbk/keycloak-operator-bundle): ≥ 26.6.8-2; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6 (rhbk/keycloak-rhel9): ≥ 26.6-24; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6 (rhbk/keycloak-rhel9-operator): ≥ 26.6-24; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6.8 (keycloak-services): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat build of Keycloak 26.6.8 (rhbk/keycloak-rhel9): Version range not reported. Source: CNA: redhat
- Red Hat / Red Hat Single Sign-On 7 (keycloak-services): Version range not reported. Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 7.5 (high); CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H; source: CNA: redhat

- CVSS 3.1: 7.5 (high); CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H; source: NVD: secalert@redhat.com

- CISA KEV: No listing in collected sources

- EPSS: 0.46% as of 2026-11-06; percentile 40.36%

- SSVC: Not available

- Weaknesses: CWE-835

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://access.redhat.com/errata/RHSA-2026:95759 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95760 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95761 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95762 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/security/cve/CVE-2026-110931 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2553047 (CNA: redhat; issue-tracking, x_refsource_REDHAT)

- https://access.redhat.com/errata/RHSA-2026:95759 (secalert@redhat.com)

- https://access.redhat.com/errata/RHSA-2026:95760 (secalert@redhat.com)

- https://access.redhat.com/errata/RHSA-2026:95761 (secalert@redhat.com)

- https://access.redhat.com/errata/RHSA-2026:95762 (secalert@redhat.com)

- https://access.redhat.com/security/cve/CVE-2026-110931 (secalert@redhat.com)

- https://bugzilla.redhat.com/show_bug.cgi?id=2553047 (secalert@redhat.com)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-110931; retrieved 2026-11-06; source updated 2026-11-06

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-110931; retrieved 2026-11-06; source updated 2026-11-06

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-110931; retrieved 2026-11-06; source updated Not reported

Revision: e069a838941ec33fae627eb967fa2cc8e7dd73d7ce54b4d883c2af37fb80931c

Canonical: https://y2.dev/cve/CVE-2026-110931

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.