---
schema: 1
kind: vulnerability
title: "CVE-2026-117691, Keycloak SAML HTTP-Redirect signature bypass: a percent-encoded parameter name lets an unauthenticated attacker log in as any federated user; fixed in Keycloak 26.8.2"
headline: "Keycloak 26.8.2 fixes a SAML signature bypass that logs an unauthenticated attacker in as any federated user"
summary: >
  Keycloak 26.8.2, released on 2026-11-05, fixes CVE-2026-117691 (CVSS 3.1 9.1, no privileges or user interaction): the SAML HTTP-Redirect
  binding processes percent-encoded parameter names such as %53AMLResponse while signature verification checks only literal names, so a
  crafted unsigned SAML message is processed instead of a signed one and the attacker logs in as any federated user. Red Hat, the CNA, names
  no mitigation that meets its criteria and fixed its build of Keycloak 26.6 in 26.6.9 on 2026-11-07. The release also fixes an
  unauthenticated JVM termination in the SAML 1.1 parser (CVE-2026-110931) and the bundled Brotli decoder flaw CVE-2026-111497, which CISA
  lists as exploited; no source reports exploitation of the SAML flaws.
discovered_at: "2026-11-08T14:12:30Z"
updated_at: null
event_date: "2026-11-05"
run_id: 2026-11-08T1309Z-audit
priority: notable
immediate_action: null
tags: [vulnerabilities, identity, auth-bypass, pre-auth, dos, patch-available]
regions: [global]
sectors: []
entities: ["product:keycloak", "product:red-hat-build-of-keycloak"]
techniques: [T1190, T1606.002, T1499.004]
affected_products: ["Keycloak", "Red Hat Build of Keycloak"]
cves:
  - id: CVE-2026-117691
    cvss: "9.1 (CVSS 3.1)"
    epss: null
    type: auth-bypass
    vector: zero-click
    auth: pre-auth
    status: [patch-available]
    affected: "Keycloak builds without the 26.8.2 fix that use the SAML HTTP-Redirect binding (the release notes state no affected range); Red Hat build of Keycloak 26.6 without the 2026-11-07 errata; Red Hat Single Sign-On 7 not affected"
    fixed: "Keycloak 26.8.2 (2026-11-05); Red Hat build of Keycloak 26.6.9 packages (RHSA-2026:96040) and 26.6 container images (RHSA-2026:96039), both 2026-11-07; Red Hat says no mitigation meets its criteria"
  - id: CVE-2026-110931
    cvss: null
    epss: null
    type: dos
    vector: zero-click
    auth: pre-auth
    status: [patch-available]
    affected: "Keycloak builds without the 26.8.2 fix, the release notes state no range (SAML 1.1 AuthorityBinding parser; labelled an incomplete fix of an earlier flaw)"
    fixed: "Keycloak 26.8.2 (2026-11-05)"
sources:
  - url: "https://www.keycloak.org/2026/11/keycloak-2682-released"
    publisher: "Keycloak project (release notes 26.8.2)"
    date: "2026-11-05"
    role: primary
  - url: "https://access.redhat.com/security/cve/CVE-2026-117691"
    publisher: "Red Hat Product Security (CVE page)"
    date: "2026-11-05"
    role: corroborating
  - url: "https://www.cisa.gov/news-events/alerts/2026/10/27/cisa-adds-two-known-exploited-vulnerabilities-catalog"
    publisher: "CISA (Known Exploited Vulnerabilities alert)"
    date: "2026-10-27"
    role: corroborating
closed_sources: []
evidence:
  - quote: "SAML redirect binding signature bypass via percent-encoded parameter name (%53AMLResponse)"
    publisher: "Keycloak project (release notes 26.8.2)"
    source_url: "https://www.keycloak.org/2026/11/keycloak-2682-released"
  - quote: "The issue occurs because the server processes percent-encoded parameter names (like %53AMLResponse) while the signature verification logic only checks literal parameter names."
    publisher: "Red Hat Product Security (CVE page)"
    source_url: "https://access.redhat.com/security/cve/CVE-2026-117691"
  - quote: "it allows for full account takeover of federated users"
    publisher: "Red Hat Product Security (CVE page)"
    source_url: "https://access.redhat.com/security/cve/CVE-2026-117691"
verification: single-source
sourcing_note: >
  The Keycloak release notes list the fixes and Red Hat, the CNA, describes CVE-2026-117691 alone; the mechanism, the CVSS vector and the mitigation statements are
  Red Hat's, and the other fixes are known only by their release-note titles. The release notes give no range for upstream lines older
  than 26.8; Red Hat's page lists its build of Keycloak 26.6.9 packages as fixed by RHSA-2026:96040, the 26.6 container images by RHSA-2026:96039, and Red Hat Single Sign-On 7
  as not affected.
confidence: high
references:
  - 2026-10-24/cve-2026-111497-node2shell-brotli-decoder-rce-nodejs-pypi
  - 2026-11-07/cve-2026-111497-brotli-desigo-cc-mitel-openscape-cisco-duo
deep_dive: false
deep_dive_category: null
org_triage: null
classification:
  reliability: A
  credibility: 2
watchlist_hit: false
actions:
  - "Upgrade every Keycloak instance that brokers a SAML identity provider to 26.8.2, and every Red Hat build of Keycloak 26.6 to 26.6.9 (RHSA-2026:96040; container images RHSA-2026:96039), internet-reachable login endpoints first."
updates: []
migrated_from: null
---

Keycloak 26.8.2, released on 2026-11-05, fixes CVE-2026-117691, a SAML redirect binding signature bypass via a percent-encoded parameter name (%53AMLResponse) that its release notes describe as broker login as any user ([Keycloak, 2026-11-05](https://www.keycloak.org/2026/11/keycloak-2682-released)). Red Hat, the CNA, explains that Keycloak's SAML HTTP-Redirect binding processes percent-encoded parameter names while the signature verification logic checks only literal ones, so an attacker can supply a crafted, unsigned SAML message that the server processes instead of a legitimately signed one; it scores the flaw CVSS 3.1 9.1 with no privileges or user interaction, rates it Important because it allows full account takeover of federated users, and says no available mitigation meets its criteria; it lists its build of Keycloak 26.6.9 packages as fixed by RHSA-2026:96040 and the 26.6 container images by RHSA-2026:96039, both released on 2026-11-07, and Red Hat Single Sign-On 7 as not affected ([Red Hat, 2026-11-05](https://access.redhat.com/security/cve/CVE-2026-117691)). Its courtesy guidance describes the attack as a crafted request that places an encoded unsigned SAML parameter before a legitimately signed one, and suggests auditing and restricting account registration on external identity providers so attackers cannot capture legitimately signed redirect-binding messages ([Red Hat, 2026-11-05](https://access.redhat.com/security/cve/CVE-2026-117691)).

The release fixes further issues tagged with CVE identifiers, among them an unauthenticated single-request JVM termination through a SAML 1.1 AuthorityBinding parser loop, labelled an incomplete fix of an earlier flaw (CVE-2026-110931), unauthenticated CPU and worker-pool exhaustion through the SAML 1.1 KeyInfo parser that needs a restart (CVE-2026-107602), unverified identity-provider email auto-linking that enables account takeover (CVE-2026-97175), an account takeover through an authentication race (CVE-2026-103112) and a SAML broker that accepts holder-of-key assertions without proof of key possession (CVE-2026-92855) ([Keycloak, 2026-11-05](https://www.keycloak.org/2026/11/keycloak-2682-released)). The release also fixes CVE-2026-111497, the out-of-bounds write in its bundled Brotli decoder ([Keycloak, 2026-11-05](https://www.keycloak.org/2026/11/keycloak-2682-released)), which CISA lists as exploited ([CISA, 2026-10-27](https://www.cisa.gov/news-events/alerts/2026/10/27/cisa-adds-two-known-exploited-vulnerabilities-catalog)). No source reports exploitation of the SAML flaws or a public proof of concept; CISA's listing concerns the Brotli decoder.

**Exposure:** a Keycloak without the 26.8.2 fix (the release notes state no affected range), or a Red Hat build of Keycloak 26.6 without the 2026-11-07 errata, that uses the SAML HTTP-Redirect binding, which the release notes tie to broker login; the SAML 1.1 parser flaws need no authentication either ([Keycloak, 2026-11-05](https://www.keycloak.org/2026/11/keycloak-2682-released); [Red Hat, 2026-11-05](https://access.redhat.com/security/cve/CVE-2026-117691)).

**Detection:** in Keycloak event logs and reverse-proxy access logs, SAML messages received by HTTP GET whose query string carries an encoded parameter name such as %53AMLResponse, with or without a literal SAMLResponse beside it, and federated logins of privileged accounts with no matching authentication at the upstream identity provider (both inferences from the mechanism Red Hat describes).

**Defender takeaway:** move every Keycloak that brokers SAML to 26.8.2, or the Red Hat build to 26.6.9, outside the regular cycle, because the bypass needs no privileges or user interaction and Red Hat's formal statement names no mitigation that meets its criteria; until then, restrict account registration on the external identity providers, as Red Hat's courtesy guidance suggests; after updating, review federated logins of privileged accounts for logins the upstream identity provider never saw.
