{"id":"CVE-2026-11800","aliases":["BIT-keycloak-2026-11800","EUVD-2026-39567","GHSA-gqj5-2xp5-3qmp","GHSA-j97h-3f8r-mrjr"],"status":"published","title":"Org.keycloak:keycloak-services: keycloak: authentication bypass via jwt algorithm confusion","description":"A flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","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-11","score":0.00263,"percentile":0.18262,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-347"],"published":"2026-06-25T20:57:05.276Z","modified":"2026-11-03T17:55:47Z","exploits":[{"source":"pocgithub","id":"federiconbaez/cortex9-keycloak-jwt-grant-alg-confusion-model","title":"federiconbaez/cortex9-keycloak-jwt-grant-alg-confusion-model","date":"2026-11-09","url":"https://github.com/federiconbaez/cortex9-keycloak-jwt-grant-alg-confusion-model"},{"source":"pocgithub","id":"fixedbyreboot/CVE-2026-11800-POC","title":"fixedbyreboot/CVE-2026-11800-POC","date":"2026-11-10","url":"https://github.com/fixedbyreboot/CVE-2026-11800-POC"},{"source":"pocgithub","id":"sickwell/CVE-2026-11800","title":"sickwell/CVE-2026-11800","date":"2026-11-10","url":"https://github.com/sickwell/CVE-2026-11800"}],"fixes":[{"ecosystem":"Maven","package":"org.keycloak:keycloak-services","fixed_in":["26.6.4"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"keycloak","fixed_in":["26.6.4"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"26.6.4"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"keycloak","ranges":[{"type":"SEMVER","events":[{"introduced":"26.6.0"},{"fixed":"26.6.4"}]}]},{"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"]}],"products":[{"vendor":"red hat","product":"red hat build of keycloak"},{"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 data grid 8"},{"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: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/security/cve/CVE-2026-11800","tags":["vdb-entry","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2487006","tags":["issue-tracking","x_refsource_REDHAT","Vendor Advisory","advisory","web"]},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-11800.json","tags":["x_sadp-csaf-vex","Vendor Advisory","advisory","web"]},{"url":"https://github.com/keycloak/keycloak/security/advisories/GHSA-j97h-3f8r-mrjr","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-11800","tags":["web","advisory"]},{"url":"https://github.com/keycloak/keycloak/issues/50357","tags":["web"]},{"url":"https://github.com/keycloak/keycloak/pull/50374","tags":["web"]},{"url":"https://github.com/keycloak/keycloak/commit/6d61885f20ac59a2ff8b823fc9ed1f1ef1019951","tags":["web"]},{"url":"https://github.com/keycloak/keycloak/commit/d343c7373dcc7bfeb9dc14de2309836299c81837","tags":["web"]},{"url":"https://github.com/keycloak/keycloak/releases/tag/26.6.4","tags":["web"]},{"url":"https://github.com/advisories/GHSA-gqj5-2xp5-3qmp"},{"url":"https://github.com/advisories/GHSA-j97h-3f8r-mrjr"},{"url":"https://github.com/keycloak/keycloak","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2026-11800","title":"Org.keycloak:keycloak-services: keycloak: authentication bypass via jwt algorithm confusion","description":"A flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"published","published":"2026-06-25T20:57:05.276Z","modified":"2026-07-15T01:23:11.922Z","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-347","CWE-347"],"updated_at":"2026-11-02T14:20:05.15083Z"}],"euvd":[{"id":"EUVD-2026-39567","description":"Keycloak has authentication bypass via jwt algorithm confusion","status":"published","published":"2026-11-03T17:24:27Z","modified":"2026-11-03T17:24:27Z","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-03T19:19:17.549112Z"}],"ghsa":[{"id":"GHSA-gqj5-2xp5-3qmp","title":"Duplicate Advisory: Authentication bypass via jwt algorithm confusion","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-j97h-3f8r-mrjr. This link is maintained to preserve external references.\n\n### Original Description\nA flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"withdrawn","published":"2026-06-26T00:32:05Z","modified":"2026-11-03T17:24:15Z","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-347"],"updated_at":"2026-11-03T17:29:08.735014Z"},{"id":"GHSA-j97h-3f8r-mrjr","title":"Keycloak has authentication bypass via jwt algorithm confusion","description":"### Description\nA flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"published","published":"2026-11-03T17:24:27Z","modified":"2026-11-03T17:24:30Z","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-347"],"updated_at":"2026-11-03T17:29:08.735014Z"}],"nvd":[{"id":"CVE-2026-11800","description":"A flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"published","published":"2026-06-25T22:17:00.473Z","modified":"2026-10-25T22:10:00.15Z","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-347"],"updated_at":"2026-11-02T14:12:26.045561Z"}],"osv":[{"id":"GHSA-gqj5-2xp5-3qmp","title":"Duplicate Advisory: Authentication bypass via jwt algorithm confusion","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-j97h-3f8r-mrjr. This link is maintained to preserve external references.\n\n### Original Description\nA flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"withdrawn","published":"2026-06-26T00:32:05Z","modified":"2026-11-03T17:30:04.150360761Z","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-347"],"updated_at":"2026-11-03T18:00:11.308756Z"},{"id":"GHSA-j97h-3f8r-mrjr","title":"Keycloak has authentication bypass via jwt algorithm confusion","description":"### Description\nA flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"published","published":"2026-11-03T17:24:27Z","modified":"2026-11-03T17:55:47.048007633Z","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-347"],"updated_at":"2026-11-03T18:31:18.863855Z"},{"id":"BIT-keycloak-2026-11800","title":"Org.keycloak:keycloak-services: keycloak: authentication bypass via jwt algorithm confusion","description":"A flaw was found in Keycloak. This JWT algorithm confusion vulnerability in the JWT Authorization Grant flow allows an attacker with valid client credentials to bypass signature verification. By forging an assertion, the attacker can create unauthorized access tokens. This enables the attacker to impersonate any federated user linked to the affected Identity Provider, leading to unauthorized access and potential privilege escalation.","status":"published","published":"2026-08-25T11:41:31.554Z","modified":"2026-11-03T17:55:47.048007633Z","updated_at":"2026-11-03T18:31:18.863855Z"}]}}
