{"id":"CVE-2026-9800","aliases":["BIT-keycloak-2026-9800","EUVD-2026-39471","GHSA-79qw-g39g-mfxc","GHSA-f5p5-6xmx-p252"],"status":"published","title":"Keycloak-policy-enforcer: keycloak policy enforcer: authorization bypass via incorrect uri comparison","description":"A flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","severity":{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00651,"percentile":0.51474,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-1025"],"published":"2026-06-25T16:16:27Z","modified":"2026-10-29T16:56:10Z","fixes":[{"ecosystem":"Maven","package":"org.keycloak:keycloak-services","fixed_in":["26.6.4"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.keycloak:keycloak-policy-enforcer","fixed_in":["26.0.10"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"keycloak","fixed_in":["26.4.13","26.7.0"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"26.6.4"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.keycloak:keycloak-policy-enforcer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"26.0.10"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"keycloak","ranges":[{"type":"SEMVER","events":[{"introduced":"26.4.0"},{"fixed":"26.4.13"},{"introduced":"26.6.0"},{"fixed":"26.7.0"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"26.6.4"}]}],"versions":["1.0-alpha-1","1.0-alpha-1-12062013","1.0-alpha-2","1.0-alpha-3","1.0-alpha-4","1.0-beta-1","1.0-beta-1-20150521","1.0-beta-1-20150523","1.0-beta-2","1.0-beta-3","1.0-beta-4","1.0-final","1.0-rc-1","1.0-rc-2","1.0.1.Final","1.0.2.Final","1.0.3.Final","1.0.4.Final","1.0.5.Final","1.1.0.Beta1","1.1.0.Beta2","1.1.0.Final","1.1.1.Final","1.2.0.Beta1","1.2.0.CR1","1.2.0.Final","1.3.0.Final","1.3.1.Final","1.4.0.Final","1.5.0-Final","1.5.0.Final","1.5.1.Final","1.6.0.Final","1.6.1.Final","1.7.0.CR1","1.7.0.Final","1.8.0.Alpha1","1.8.0.CR1","1.8.0.CR2","1.8.0.CR3","1.8.0.Final","1.8.1.Final","1.9.0.CR1","1.9.0.Final","1.9.1.Final","1.9.2.Final","1.9.3.Final","1.9.4.Final","1.9.5.Final","1.9.7.Final","1.9.8.Final","10.0.0","10.0.1","10.0.2","11.0.0","11.0.1","11.0.2","11.0.3","12.0.0","12.0.1","12.0.2","12.0.3","12.0.4","13.0.0","13.0.1","14.0.0","15.0.0","15.0.1","15.0.2","15.1.0","15.1.1","16.0.0","16.1.0","16.1.1","17.0.0","17.0.1","18.0.0","18.0.1","18.0.2","19.0.0","19.0.1","19.0.2","19.0.3","2.0.0.CR1","2.0.0.Final","2.1.0.CR1","2.1.0.Final","2.2.0.CR1","2.2.0.Final","2.2.1.Final","2.3.0.CR1","2.3.0.Final","2.4.0.CR1","2.4.0.Final","2.5.0.CR1","2.5.0.Final","2.5.1.Final","2.5.4.Final","2.5.5.Final","20.0.0","20.0.1","20.0.2","20.0.3","20.0.4","20.0.5","21.0.0","21.0.1","21.0.2","21.1.0","21.1.1","21.1.2","22.0.0","22.0.1","22.0.2","22.0.3","22.0.4","22.0.5","23.0.0","23.0.1","23.0.2","23.0.3","23.0.4","23.0.5","23.0.6","23.0.7","24.0.0","24.0.1","24.0.2","24.0.3","24.0.4","24.0.5","25.0.0","25.0.1","25.0.2","25.0.3","25.0.4","25.0.5","25.0.6","26.0.0","26.0.1","26.0.2","26.0.3","26.0.4","26.0.5","26.0.6","26.0.7","26.0.8","26.1.0","26.1.1","26.1.2","26.1.3","26.1.4","26.1.5","26.2.0","26.2.1","26.2.2","26.2.3","26.2.4","26.2.5","26.3.0","26.3.1","26.3.2","26.3.3","26.3.4","26.3.5","26.4.0","26.4.1","26.4.2","26.4.3","26.4.4","26.4.5","26.4.6","26.4.7","26.5.0","26.5.1","26.5.2","26.5.3","26.5.4","26.5.5","26.5.6","26.5.7","26.6.0","26.6.1","26.6.2","26.6.3","3.0.0.CR1","3.0.0.Final","3.1.0.CR1","3.1.0.Final","3.2.0.CR1","3.2.0.Final","3.2.1.Final","3.3.0.CR1","3.3.0.CR2","3.3.0.Final","3.4.0.CR1","3.4.0.Final","3.4.1.CR1","3.4.1.Final","3.4.2.Final","3.4.3.Final","4.0.0.Beta1","4.0.0.Beta2","4.0.0.Beta3","4.0.0.Final","4.1.0.Final","4.2.0.Final","4.2.1.Final","4.3.0.Final","4.4.0.Final","4.5.0.Final","4.6.0.Final","4.7.0.Final","4.8.0.Final","4.8.1.Final","4.8.2.Final","4.8.3.Final","5.0.0","6.0.0","6.0.1","7.0.0","7.0.1","8.0.0","8.0.1","8.0.2","9.0.0","9.0.2","9.0.3"]},{"source":"osv","ecosystem":"Maven","package":"org.keycloak:keycloak-policy-enforcer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"26.0.10"}]}],"versions":["21.1.0","21.1.1","21.1.2","22.0.0","22.0.1","22.0.2","22.0.3","22.0.4","22.0.5","23.0.0","23.0.1","23.0.2","23.0.3","23.0.4","23.0.5","23.0.6","23.0.7","24.0.0","24.0.1","24.0.2","24.0.3","24.0.4","24.0.5","25.0.0","25.0.1","25.0.2","25.0.3","25.0.4","25.0.5","25.0.6","26.0.0","26.0.0-alpha1","26.0.0-alpha2","26.0.1","26.0.2","26.0.3","26.0.4","26.0.5","26.0.6","26.0.7","26.0.8","26.0.9"]}],"products":[{"vendor":"red hat","product":"red hat build of keycloak 26.4"},{"vendor":"red hat","product":"red hat build of keycloak 26.4.13"},{"vendor":"red hat","product":"red hat build of keycloak 26.4.14"},{"vendor":"red hat","product":"red hat build of keycloak 26.6"},{"vendor":"red hat","product":"red hat build of keycloak 26.6.4"},{"vendor":"red hat","product":"red hat build of quarkus"},{"vendor":"red hat","product":"red hat build of quarkus 3.27.4.sp2"},{"vendor":"red hat","product":"red hat build of quarkus 3.33.2.sp2"},{"vendor":"red hat","product":"red hat jboss enterprise application platform expansion pack"},{"vendor":"red hat","product":"red hat single sign-on 7"},{"vendor":"redhat","product":"build_of_keycloak"}],"references":[{"url":"https://access.redhat.com/errata/RHSA-2026:30049","tags":["vendor-advisory","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:30050","tags":["vendor-advisory","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:30083","tags":["vendor-advisory","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:30084","tags":["vendor-advisory","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:36002","tags":["vendor-advisory","x_refsource_REDHAT","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:36013","tags":["vendor-advisory","x_refsource_REDHAT","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:50846","tags":["vendor-advisory","x_refsource_REDHAT","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:50847","tags":["vendor-advisory","x_refsource_REDHAT","web"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-9800","tags":["vdb-entry","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2482472","tags":["issue-tracking","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-9800.json","tags":["x_sadp-csaf-vex","Vendor Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-9800","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-79qw-g39g-mfxc"},{"url":"https://github.com/keycloak/keycloak/security/advisories/GHSA-f5p5-6xmx-p252","tags":["web"]},{"url":"https://github.com/advisories/GHSA-f5p5-6xmx-p252"},{"url":"https://github.com/keycloak/keycloak","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-9800","title":"Keycloak-policy-enforcer: keycloak policy enforcer: authorization bypass via incorrect uri comparison","description":"A flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"published","published":"2026-06-25T16:16:27.069Z","modified":"2026-10-20T04:28:57.671Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"cna"},{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"adp"}],"cwes":["CWE-1025","CWE-1025"],"updated_at":"2026-11-02T13:42:37.965383Z"}],"euvd":[{"id":"EUVD-2026-39471","description":"A flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"published","published":"2026-06-25T16:16:27Z","modified":"2026-10-20T04:28:57Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T16:59:44.419021Z"}],"ghsa":[{"id":"GHSA-79qw-g39g-mfxc","title":"Duplicate Advisory: Keycloak vulnerable to authorization bypass via incorrect uri comparison","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-f5p5-6xmx-p252. This link is maintained to preserve external references.\n\n### Original Description\nA flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"withdrawn","published":"2026-06-25T18:30:41Z","modified":"2026-10-29T16:37:13Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-1025"],"updated_at":"2026-11-02T14:41:41.028239Z"},{"id":"GHSA-f5p5-6xmx-p252","title":"Keycloak vulnerable to authorization bypass via incorrect uri comparison","description":"### Description\nA flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"published","published":"2026-10-29T16:37:26Z","modified":"2026-10-29T16:37:29Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-1025"],"updated_at":"2026-11-02T14:41:41.028239Z"}],"nvd":[{"id":"CVE-2026-9800","description":"A flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"published","published":"2026-06-25T17:17:04.18Z","modified":"2026-10-20T05:16:55.147Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high","assessor":"secondary"}],"cwes":["CWE-1025"],"updated_at":"2026-11-02T14:12:26.045561Z"}],"osv":[{"id":"GHSA-79qw-g39g-mfxc","title":"Duplicate Advisory: Keycloak vulnerable to authorization bypass via incorrect uri comparison","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-f5p5-6xmx-p252. This link is maintained to preserve external references.\n\n### Original Description\nA flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"withdrawn","published":"2026-06-25T18:30:41Z","modified":"2026-10-29T16:45:04.526254265Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-1025"],"updated_at":"2026-11-02T15:46:41.002603Z"},{"id":"GHSA-f5p5-6xmx-p252","title":"Keycloak vulnerable to authorization bypass via incorrect uri comparison","description":"### Description\nA flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"published","published":"2026-10-29T16:37:26Z","modified":"2026-10-29T16:56:10.604355476Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","level":"high"}],"cwes":["CWE-1025"],"updated_at":"2026-11-02T15:46:46.006631Z"},{"id":"BIT-keycloak-2026-9800","title":"Keycloak-policy-enforcer: keycloak policy enforcer: authorization bypass via incorrect uri comparison","description":"A flaw was found in Keycloak Policy Enforcer. This vulnerability allows any authenticated user to bypass all authorization policies, including role, scope, and User-Managed Access (UMA) permission checks. By including the configured access-denied page path within a request URL, either as a path segment or a query parameter, an attacker can gain unauthorized access to protected resources.","status":"published","published":"2026-08-25T11:42:52.486Z","modified":"2026-10-29T16:56:10.604355476Z","updated_at":"2026-11-02T15:28:32.162822Z"}]}}
