{"id":"CVE-2026-16093","aliases":["BIT-keycloak-2026-16093","EUVD-2026-45222","GHSA-jmhg-9c54-p575"],"status":"published","title":"Keycloak-services: keycloak-services: required signed-jwt assertion policy can be bypassed with unsigned assertion headers","description":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00393,"percentile":0.33829,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-807"],"published":"2026-07-17T16:42:52Z","modified":"2026-09-17T14:45:07Z","fixes":[{"ecosystem":"Bitnami","package":"keycloak","fixed_in":["26.7.3"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"keycloak","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"26.7.3"}]}]}],"products":[{"vendor":"red hat","product":"red hat build of keycloak 26.6"},{"vendor":"red hat","product":"red hat build of keycloak 26.6.7"},{"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"},{"vendor":"redhat","product":"data_grid"},{"vendor":"redhat","product":"jboss_enterprise_application_platform_expansion_pack"},{"vendor":"redhat","product":"single_sign-on"}],"references":[{"url":"https://access.redhat.com/errata/RHSA-2026:68277","tags":["vendor-advisory","x_refsource_REDHAT","web"]},{"url":"https://access.redhat.com/errata/RHSA-2026:68278","tags":["vendor-advisory","x_refsource_REDHAT","web"]},{"url":"https://access.redhat.com/security/cve/CVE-2026-16093","tags":["vdb-entry","x_refsource_REDHAT","Vendor Advisory","advisory"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2501729","tags":["issue-tracking","x_refsource_REDHAT","Issue Tracking","Vendor Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-16093","tags":["web"]},{"url":"https://github.com/advisories/GHSA-jmhg-9c54-p575"}],"sources":{"cve":[{"id":"CVE-2026-16093","title":"Keycloak-services: keycloak-services: required signed-jwt assertion policy can be bypassed with unsigned assertion headers","description":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.","status":"published","published":"2026-07-17T16:42:52.407Z","modified":"2026-09-16T18:34:08.94Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-807"],"updated_at":"2026-11-02T14:20:10.870108Z"}],"euvd":[{"id":"EUVD-2026-45222","description":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.","status":"published","published":"2026-07-17T16:42:52Z","modified":"2026-09-16T18:34:08Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T17:28:14.682482Z"}],"ghsa":[{"id":"GHSA-jmhg-9c54-p575","title":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients,...","description":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.","status":"published","published":"2026-07-17T18:31:26Z","modified":"2026-09-16T18:32:20Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-807"],"updated_at":"2026-11-02T15:12:01.408765Z"}],"nvd":[{"id":"CVE-2026-16093","description":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.","status":"published","published":"2026-07-17T17:17:14.133Z","modified":"2026-09-16T19:17:07.373Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-807"],"updated_at":"2026-11-02T14:12:30.250437Z"}],"osv":[{"id":"BIT-keycloak-2026-16093","title":"Keycloak-services: keycloak-services: required signed-jwt assertion policy can be bypassed with unsigned assertion headers","description":"Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.","status":"published","published":"2026-08-31T14:36:55.423Z","modified":"2026-09-17T14:45:07.164880761Z","updated_at":"2026-11-02T15:28:32.162822Z"}]}}
