{"id":"CVE-2022-1245","aliases":["EUVD-2022-1660","GHSA-75p6-52g3-rqc8","RHSA-2022:1711","RHSA-2022:1712"],"status":"published","title":"Keycloak vulnerable to privilege escalation on Token Exchange feature","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.01448,"percentile":0.73521,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-639","CWE-862","CWE-863"],"published":"2022-04-26T21:21:00Z","modified":"2026-10-28T02:30:27Z","fixes":[{"ecosystem":"Maven","package":"org.keycloak:keycloak-services","fixed_in":["18.0.0"],"sources":["ghsa","osv"]},{"ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el7","package":"rh-sso7-keycloak","fixed_in":["0:15.0.6-1.redhat_00002.1.el7sso"],"sources":["osv"]},{"ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el7","package":"rh-sso7-keycloak-server","fixed_in":["0:15.0.6-1.redhat_00002.1.el7sso"],"sources":["osv"]},{"ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el8","package":"rh-sso7-keycloak","fixed_in":["0:15.0.6-1.redhat_00002.1.el8sso"],"sources":["osv"]},{"ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el8","package":"rh-sso7-keycloak-server","fixed_in":["0:15.0.6-1.redhat_00002.1.el8sso"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"18.0.0"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"18.0.0"}]}],"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","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","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":"Red Hat:red_hat_single_sign_on:7.5::el7","package":"rh-sso7-keycloak","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:15.0.6-1.redhat_00002.1.el7sso"}]}]},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el7","package":"rh-sso7-keycloak-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:15.0.6-1.redhat_00002.1.el7sso"}]}]},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el8","package":"rh-sso7-keycloak","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:15.0.6-1.redhat_00002.1.el8sso"}]}]},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.5::el8","package":"rh-sso7-keycloak-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:15.0.6-1.redhat_00002.1.el8sso"}]}]}],"products":[{"vendor":"keycloak","product":"keycloak"},{"vendor":"redhat","product":"keycloak"}],"references":[{"url":"https://github.com/keycloak/keycloak/security/advisories/GHSA-75p6-52g3-rqc8","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","article"]},{"url":"https://github.com/keycloak/keycloak/commit/76d83f46fad94ebcbedaa49e6daad458e2894e52","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-1245","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-75p6-52g3-rqc8"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/1xxx/CVE-2022-1245.json","tags":["advisory"]},{"url":"https://github.com/keycloak/keycloak","tags":["package"]},{"url":"https://access.redhat.com/errata/RHSA-2022:1711","tags":["advisory"]},{"url":"https://access.redhat.com/security/updates/classification/#moderate","tags":["article"]},{"url":"https://access.redhat.com/security/cve/cve-2022-12454","tags":["article"]},{"url":"https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.5/html/release_notes/index","tags":["article"]},{"url":"https://access.redhat.com/articles/11258","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2071036","tags":["report"]},{"url":"https://issues.redhat.com/browse/CIAM-2832","tags":["article"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2022/rhsa-2022_1711.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2022-1245","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-1245","tags":["advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2022:1712","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2022/rhsa-2022_1712.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2022-1245","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","status":"published","published":"2022-07-07T23:39:22Z","modified":"2024-08-02T23:55:24.704Z","cwes":["CWE-862"],"updated_at":"2026-11-02T14:34:38.581997Z"}],"euvd":[{"id":"EUVD-2022-1660","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","status":"published","published":"2022-07-07T23:39:22Z","modified":"2024-08-02T23:55:24Z","updated_at":"2026-11-03T03:26:02.561344Z"}],"ghsa":[{"id":"GHSA-75p6-52g3-rqc8","title":"Keycloak vulnerable to privilege escalation on Token Exchange feature","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","status":"published","published":"2022-04-26T21:21:00Z","modified":"2023-06-27T21:53:30Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-639","CWE-862","CWE-863"],"updated_at":"2026-11-02T14:36:55.184601Z"}],"nvd":[{"id":"CVE-2022-1245","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","status":"published","published":"2022-07-08T00:15:07.937Z","modified":"2026-06-17T04:22:05.027Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-862","CWE-639"],"updated_at":"2026-11-02T14:07:22.966735Z"}],"osv":[{"id":"GHSA-75p6-52g3-rqc8","title":"Keycloak vulnerable to privilege escalation on Token Exchange feature","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","status":"published","published":"2022-04-26T21:21:00Z","modified":"2026-07-16T03:59:27.995234418Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-639","CWE-862","CWE-863"],"updated_at":"2026-11-02T15:46:40.657155Z"},{"id":"RHSA-2022:1711","title":"Red Hat Security Advisory: Red Hat Single Sign-On 7.5.2 security update on RHEL 7","status":"published","published":"2024-09-16T07:55:21Z","modified":"2026-09-22T10:01:28Z","cvss":[{"version":"3.1","score":8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:09.62945Z"},{"id":"RHSA-2022:1712","title":"Red Hat Security Advisory: Red Hat Single Sign-On 7.5.2 security update on RHEL 8","status":"published","published":"2024-09-16T07:55:06Z","modified":"2026-09-22T10:01:29Z","cvss":[{"version":"3.1","score":8,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:09.62945Z"},{"id":"CVE-2022-1245","description":"A privilege escalation flaw was found in the token exchange feature of keycloak. Missing authorization allows a client application holding a valid access token to exchange tokens for any target client by passing the client_id of the target. This could allow a client to gain unauthorized access to additional services.","status":"published","published":"2022-07-07T23:39:22Z","modified":"2026-10-28T02:30:27.765447649Z","cwes":["CWE-862"],"updated_at":"2026-11-02T15:44:23.245966Z"}]}}
