{"id":"CVE-2026-92856","kind":"vulnerability","aliases":["CVE-2026-92856"],"related":[],"title":"Keycloak: SAML brokering ignores ProxyRestrictions, letting users reach forbidden services","description":"A flaw was found in the SAML brokering component of Keycloak, an identity and access management solution. The issue occurs when Keycloak acts as an intermediary between an upstream identity provider and downstream services. Keycloak fails to respect specific security instructions called ProxyRestrictions in the login messages it receives. This allows a user to log into downstream services even when the original identity provider explicitly forbade further sharing of the login session. As a result, users can bypass security boundaries intended to limit where their identity can be used.","summary":"Keycloak, acting as a SAML broker between an upstream identity provider and downstream services, does not honor ProxyRestrictions in incoming login messages. A user can therefore log into downstream services even when the upstream provider forbade sharing that login session.","severity":"medium","cvss":4.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["identity","keycloak","runtime","saml"],"not_affected_if":["direct-idp-only","no-saml-brokering"],"how_to_check":"- Check whether your Keycloak deployment brokers SAML identity providers (Identity Providers settings with a SAML provider).\n- Check your Keycloak version with `kc.sh --version` or the admin console footer; compare against the fixed versions in the product data, which the sources did not list.","fix":null,"status":"open","published_at":"2026-11-06T06:16:44+00:00","first_seen_at":"2026-11-06T06:40:12+00:00","triaged_at":"2026-11-06T06:41:39+00:00","updated_at":"2026-11-06T06:41:39+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-06T06:41:39Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"network","title":"Keycloak: SAML brokering ignores ProxyRestrictions, letting users reach forbidden services","impact":"medium","summary":"Keycloak, acting as a SAML broker between an upstream identity provider and downstream services, does not honor ProxyRestrictions in incoming login messages. A user can therefore log into downstream services even when the upstream provider forbade sharing that login session.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["keycloak","saml","identity"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"users reach downstream services that the identity provider forbade","analyst_note":"Find the affected version range and the fixed release from the NVD entry or the Keycloak security advisory; the sources give neither.","how_to_check":"- Check whether your Keycloak deployment brokers SAML identity providers (Identity Providers settings with a SAML provider).\n- Check your Keycloak version with `kc.sh --version` or the admin console footer; compare against the fixed versions in the product data, which the sources did not list.","plain_action":"","needs_analyst":true,"not_affected_if":["no-saml-brokering","direct-idp-only"],"who_is_affected":"Only deployments where Keycloak sits between an upstream SAML identity provider and downstream services are relevant. Deployments that use Keycloak only as a direct identity provider, without SAML brokering, are not described as affected. The sources do not give the exact affected version range.","user_interaction":"unknown","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000711,"input_tokens":4282,"output_tokens":566,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,15A '-92856':13A,16A 'access':75C 'act':22B,83C 'allow':111C 'boundari':140C 'broker':3A,26B,68C 'bypass':138C 'call':102C 'compon':69C 'cve':11A,14A 'downstream':33B,49B,93C,117C 'even':51B,119C 'explicit':125C 'fail':96C 'flaw':62C 'forbad':56B,126C 'forbidden':9A 'found':64C 'honor':37B 'ident':17B,30B,73C,90C,123C,146C 'ignor':4A 'incom':40B 'instruct':101C 'intend':141C 'intermediari':86C 'issu':79C 'keycloak':1A,18B,21B,71C,82C,95C 'let':6A 'limit':143C 'log':47B,115C 'login':41B,59B,106C,131C 'manag':76C 'messag':42B,107C 'occur':80C 'origin':122C 'provid':31B,55B,91C,124C 'proxyrestrict':5A,38B,103C 'reach':8A 'receiv':109C 'respect':98C 'result':135C 'runtim':19B 'saml':2A,20B,25B,67C 'secur':100C,139C 'servic':10A,34B,50B,94C,118C 'session':60B,132C 'share':57B,128C 'solut':77C 'specif':99C 'therefor':46B 'upstream':29B,54B,89C 'use':149C 'user':7A,44B,113C,136C","nicknames":[],"mitigations":[],"who_affected":"Only deployments where Keycloak sits between an upstream SAML identity provider and downstream services are relevant. Deployments that use Keycloak only as a direct identity provider, without SAML brokering, are not described as affected. The sources do not give the exact affected version range.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["identity","keycloak","medium","runtime","saml"],"campaign_type":null,"search_a":"'-2026':12A,15A '-92856':13A,16A 'broker':3A 'cve':11A,14A 'forbidden':9A 'ignor':4A 'keycloak':1A 'let':6A 'proxyrestrict':5A 'reach':8A 'saml':2A 'servic':10A 'user':7A","search_b":"'act':22B 'broker':26B 'downstream':33B,49B 'even':51B 'forbad':56B 'honor':37B 'ident':17B,30B 'incom':40B 'keycloak':18B,21B 'log':47B 'login':41B,59B 'messag':42B 'provid':31B,55B 'proxyrestrict':38B 'runtim':19B 'saml':20B,25B 'servic':34B,50B 'session':60B 'share':57B 'therefor':46B 'upstream':29B,54B 'user':44B","search_c":"'access':75C 'act':83C 'allow':111C 'boundari':140C 'broker':68C 'bypass':138C 'call':102C 'compon':69C 'downstream':93C,117C 'even':119C 'explicit':125C 'fail':96C 'flaw':62C 'forbad':126C 'found':64C 'ident':73C,90C,123C,146C 'instruct':101C 'intend':141C 'intermediari':86C 'issu':79C 'keycloak':71C,82C,95C 'limit':143C 'log':115C 'login':106C,131C 'manag':76C 'messag':107C 'occur':80C 'origin':122C 'provid':91C,124C 'proxyrestrict':103C 'receiv':109C 'respect':98C 'result':135C 'saml':67C 'secur':100C,139C 'servic':94C,118C 'session':132C 'share':128C 'solut':77C 'specif':99C 'upstream':89C 'use':149C 'user':113C,136C","first_public_at":"2026-11-06T06:16:44+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N","cvss_by":"secalert@redhat.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-92856","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92856","severity":null,"published_at":"2026-11-06T06:16:44+00:00","modified_at":"2026-11-06T06:16:44+00:00","first_seen_at":"2026-11-06T06:40:12+00:00","fetched_at":"2026-11-06T06:40:12+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}