RHSA-2026:95759HighCVSS 8.8

Red Hat Security Advisory: Red Hat build of Keycloak 26.4.17 Security Update

Published
November 6, 2026
Last Modified
November 6, 2026

🔗 CVE IDs covered (38)

📋 Description

CVE-2026-8763 — org.bouncycastle/bcprov-jdk15on: org.bouncycastle/bcpkix-jdk15on: Bouncy Castle for Java: Name Constraints bypass via trailing dot in rfc822Name and URI CVE-2026-12860 — org.bouncycastle/bc-java: org.bouncycastle/bc-lts-java: Bouncy Castle for Java: Cryptographic signature bypass in RSA PKCS#1 verification CVE-2026-13506 — bouncycastle: Bouncy Castle for Java: Denial of Service via lazy ASN.1 sequence processing CVE-2026-18217 — keycloak-services: keycloak-services: SAML HTTP-Redirect binding response preserves query string leading to parameter pollution CVE-2026-19611 — wildfly-elytron: org.wildfly.security/wildfly-elytron-password-impl: wildfly-elytron: Password keyspace reduction via NFKC fullwidth folding CVE-2026-58059 — org.bouncycastle/bc-java: Bouncy Castle for Java: Denial of Service via quadratic-time escaping of X.500 distinguished names CVE-2026-59903 — io.netty/netty: Netty: Information disclosure via CORS Vary header overwrite CVE-2026-75595 — io.netty/netty-handler: Netty: SNI Routing Bypass via Fragmented TLS ClientHello Causing Fallback to Default SslContext CVE-2026-77874 — org.hibernate/hibernate-core: Hibernate ORM: SQL Injection via unescaped JSON path segment allows data exfiltration and authorization bypass CVE-2026-82965 — keycloak-services: keycloak-services: Unauthenticated Denial of Service via SAML SOAP endpoint unbounded XML parsing CVE-2026-92855 — keycloak-services: keycloak-services: SAML broker accepts holder-of-key assertions without proof of key possession CVE-2026-92857 — keycloak-services: keycloak-services: DCR protocol mapper config not validated, allowing IAT holders to forge sub and aud claims in signed tokens CVE-2026-93488 — io.netty/netty-codec-http: Netty: Denial of Service via unbounded concurrent SPDY streams CVE-2026-93491 — io.netty/netty-codec-http: Netty: Denial of Service via unbounded HttpServerCodec HTTP/1.1 pipeline queue CVE-2026-93492 — io.netty/netty-codec-http2: Netty: HTTP/2 HpackEncoder DoS with large table size CVE-2026-93558 — io.netty/netty-codec-http: Netty: Unbounded Per-Connection Queue Growth in WebSocketServerExtensionHandler Leads to Denial of Service CVE-2026-93562 — io.netty/netty-codec-http: Netty: Incomplete validation of malformed Transfer-Encoding allows HTTP request smuggling CVE-2026-93564 — io.netty/netty-codec-haproxy: Netty: HAProxy PROXY-v2 nested-TLV grandchild ByteBuf reference-count leak (incomplete fix of PR #16881) CVE-2026-93565 — io.netty/netty-codec-http: Netty RtspDecoder Method-Token Smuggling via Trailing Control Byte CVE-2026-93566 — io.netty/netty-codec-http: Netty: HTTP Request Smuggling due to control characters in the chunk-size line CVE-2026-93567 — io.netty/netty-codec-http2: HTTP/1 authority-form CONNECT is translated to malformed HTTP/2 CONNECT with Host-controlled :authority CVE-2026-93568 — io.netty/netty-codec-http2: io.netty/netty-codec-http3: Netty: HTTP/2 and HTTP/3 Extended CONNECT requests are downgraded as regular CONNECT requests CVE-2026-93569 — io.netty/netty-codec-http2: HTTP/1 absolute-form Host mismatch is translated to HTTP/2 :authority, overriding the request-target authority CVE-2026-93573 — io.netty/netty-codec-http: Netty split Transfer-Encoding fields bypass final-chunked validation and enable request smuggling CVE-2026-93574 — io.netty/netty-codec-http: Netty: HTTP request smuggling via post-digit whitespace in chunk-size parsing CVE-2026-93579 — io.netty/netty-codec-http2: Netty: HTTP/2 header field values are not validated by default (CR/LF/NUL passthrough) CVE-2026-93998 — keycloak-core: keycloak-core: SAML adapter does not bind signed assertions to the configured identity provider issuer CVE-2026-96453 — org.keycloak/keycloak-admin-cli: keycloak-admin-cli: kcadm custom truststore accepts arbitrary self-signed certificates CVE-2026-96547 — keycloak-services: keycloak-services: DCR registration-time claim-path gap allows forging realm_access.roles CVE-2026-97175 — keycloak-services: keycloak-services: Unverified IdP email auto-linking enables account takeover CVE-2026-97367 — keycloak-services: keycloak-services: DCR azp and sid claim substitution allows Account REST session takeover CVE-2026-97847 — keycloak-services: keycloak-services: Client manager can substitute sessionless token principal via hardcoded-claim mappers to obtain realm administrator authority CVE-2026-97848 — keycloak-services: keycloak-services: Protocol mapper with jsonType=JSON bypasses token sanitization CVE-2026-103112 — keycloak-services: keycloak-services: Account takeover via authentication race using reset-credentials path CVE-2026-107602 — keycloak-services: keycloak-services: Unauthenticated CPU exhaustion via SAML 1.1 KeyInfo infinite loop CVE-2026-110879 — jackson-databind: com.fasterxml.jackson.core/jackson-databind: tools.jackson.core/jackson-databind: Jackson-databind: PolymorphicTypeValidator bypass via generic type arguments and array element types in jackson-databind allows arbitrary class instantiation (incomplete fix for CV CVE-2026-110931 — keycloak-services: keycloak-services: Unauthenticated JVM termination via SAML 1.1 AuthorityBinding parsing loop CVE-2026-114232 — keycloak-services: keycloak-services: UMA Protection API resourceType field not validated — cross-owner resource access

🎯 Affected products1

  • Red Hat build of Keycloak 26.4.17

✅ Remediation

Before applying the update, back up your existing installation, including all applications, configuration files, databases and database settings, and so on. Workaround: Enforce strict DigestInfo encoding checks requiring explicit ASN.1 NULL parameters in RSA PKCS#1 v1.5 signature verification, or mandate the use of RSA-PSS signature schemes in application TLS/crypto configuration. 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. Workaround: Limit the maximum string length of incoming X.500 distinguished names at application or API gateway boundaries, or restrict the acceptance of unauthenticated client certificates containing complex distinguished names. Workaround: To mitigate this issue, ensure that application-layer certificate verification is implemented for services utilizing Netty with mutual TLS. This provides an additional layer of authentication beyond the TLS handshake, preventing unauthorized access even if the SNI routing is bypassed and a less restrictive default SslContext is used. Workaround: To mitigate this vulnerability, applications using Hibernate ORM should avoid passing untrusted user-controlled input directly as JSON path arguments to `json_query`, `json_exists`, or `json_value` functions. If dynamic JSON querying is necessary, strictly validate or whitelist the JSON path input against a predefined pattern (e.g., allowing only alphanumeric characters and dots) before use. 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 enforce XML payload size and element count validation during SAML SOAP request parsing before DOM tree construction: upgrade to Red Hat build of Keycloak 26.4.17, 26.6.8 (or the corresponding fixed Red Hat builds), which enforce XML payload size and element count limits when parsing incoming SAML SOAP requests, closing all 2 injection vectors (SAML Artifact Resolution SOAP requests with large or deeply nested XML payloads, SAML ECP SOAP requests containing millions of empty XML elements). Until patched, this is a concern on Keycloak deployments exposing SAML SOAP endpoints to unauthenticated network access, so Restrict network access to SAML SOAP endpoints such as /realms/{realm}/protocol/saml/resolve to trusted internal clients and reverse proxies. As a compensating measure, Configure systemd service watchdog and automatic restart directives to detect OutOfMemoryError process exits and restore Keycloak service availability and Implement rate limiting and connection throttling on SOAP requests targeting the SAML resolve endpoint to mitigate rapid heap exhaustion. These controls limit blast radius and contain exploitation, but they do not fix the underlying unbounded XML parsing defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-1204 Service Watchdog and Automatic Restart (systemd WatchdogSec/Restart) (medium) 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 enforce proof of possession for bound keys in SAML identity broker subject-confirmation validation: upgrade to Keycloak 26.4.17 / 26.6.8 (or the corresponding fixed Red Hat builds), which enforce proof of possession for the bound key or reject assertions that contain only unvalidated holder-of-key confirmations, closing replaying intercepted SAML holder-of-key assertions. Until patched, this is a concern on Keycloak deployments configured as a SAML identity broker trusting upstream providers that issue holder-of-key assertions, so restrict and audit trusted upstream SAML identity providers issuing holder-of-key assertions to prevent interception and unauthorized replay of signed assertions. As a compensating measure, enforce mandatory secondary authentication factor in Keycloak post-federation to block login completion on replayed assertions. These controls limit blast radius and contain exploitation, but they do not fix the underlying missing proof-of-possession verification flaw — apply the upstream patch to fully remediate. Highest-impact CME: CME-801 Multi-Factor Authentication (MFA) (medium) 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 validate protocol mapper claim.name configurations during Dynamic Client Registration to deny mapping to reserved identity claims: upgrade to Red Hat build of Keycloak 26.4.17, 26.6.8 (or the corresponding fixed Red Hat builds), which validate and reject protocol mapper configurations in Dynamic Client Registration that assign reserved claims to claim.name, closing all 2 injection vectors (Dynamic Client Registration protocol mapper configuration mapping user profile attributes to the sub claim, Dynamic Client Registration protocol mapper configuration mapping user profile attributes to the aud claim). Until patched, this is a concern on Keycloak deployments enabling Dynamic Client Registration where users possess an Initial Access Token and editable realm profile attributes, so restrict issuance of Initial Access Tokens, monitor new client registrations, and restrict user capabilities to edit profile attributes. As a compensating measure, detect unauthorized Dynamic Client Registration creations and protocol mapper changes by alerting on configuration drift against declared realm baselines and log Dynamic Client Registration events and mapper configurations to a SIEM to identify unauthorized clients mapping reserved token claims. These controls limit blast radius and contain exploitation, but they do not fix the underlying unvalidated protocol mapper claim.name defect — apply the upstream patch to fully remediate. Highest-impact CME: CME-1315 Allowlist-Preferred Input Validation (Deny-by-Default Filtering) (high) Workaround: See https://github.com/netty/netty/security/advisories/GHSA-2g37-3h88-55hc for fixed versions and remediation guidance. Workaround: See https://github.com/netty/netty/security/advisories/GHSA-hcvj-94mj-jp5c for fixed versions and remediation guidance. Workaround: See https://github.com/netty/netty/security/advisories/GHSA-j58c-g352-8h4p for fi…

🔗 References (3)