{"id":"CVE-2026-9087","aliases":[],"url":"https://o3.security/vulnerability/CVE-2026-9087","summary":"Keycloak: Insufficient verification proof scoping enables identity provider account linking attack and account compromise","details":"A flaw was found in Keycloak. The cross-session verification proof is keyed only by (local userId,\nidpAlias) and is not bound to the upstream identity that was actually verified, so a second upstream account on the same IdP can consume it and get linked to the victim's local account.","published":"2026-05-20T18:31:36Z","modified":"2026-06-26T12:21:29.360806048Z","cvss":{"score":6.4,"severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N"},"epss":{"score":0.00312,"percentile":0.23918,"asOf":"2026-08-16"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"Maven","name":"org.keycloak:keycloak-services","fixedVersion":"26.6.3"}],"fix":{"url":"https://github.com/keycloak/keycloak/commit/37dabf59d0b5ca3e5b3b272bcd3b2580e67b94dd","label":"keycloak/keycloak@37dabf5"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-9087"},{"type":"WEB","url":"https://github.com/keycloak/keycloak/commit/37dabf59d0b5ca3e5b3b272bcd3b2580e67b94dd"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2026:25097"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2026:25098"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2026:30049"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2026:30050"},{"type":"WEB","url":"https://access.redhat.com/security/cve/CVE-2026-9087"},{"type":"WEB","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2480172"},{"type":"PACKAGE","url":"https://github.com/keycloak/keycloak"},{"type":"WEB","url":"https://github.com/keycloak/keycloak/releases/tag/26.6.3"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-06-26T12:21:29.360806048Z"}}