{"id":"CVE-2023-2585","aliases":["EUVD-2023-1780","GHSA-f5h4-wmp5-xhg6","RHSA-2023:3883","RHSA-2023:3884","RHSA-2023:3885"],"status":"published","title":"Keycloak: client access via device auth request spoof","description":"Keycloak's device authorization grant does not correctly validate the device code and client ID. An attacker client could abuse the missing validation to spoof a client consent request and trick an authorization admin into granting consent to a malicious OAuth client or possible unauthorized access to an existing OAuth client.","severity":{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00694,"percentile":0.53206,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-358"],"published":"2023-06-30T20:29:25Z","modified":"2026-10-02T10:03:11Z","fixes":[{"ecosystem":"Maven","package":"org.keycloak:keycloak-services","fixed_in":["21.1.2"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.keycloak:keycloak-server-spi-private","fixed_in":["21.1.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"21.1.2"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.keycloak:keycloak-server-spi-private","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"21.1.2"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.keycloak:keycloak-services","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"21.1.2"}]}],"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","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-server-spi-private","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"21.1.2"}]}],"versions":["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.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","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.6::el7","package":"rh-sso7-keycloak","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:18.0.8-1.redhat_00001.1.el7sso"}]}],"bundled":5},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.6::el7","package":"rh-sso7-keycloak-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:18.0.8-1.redhat_00001.1.el7sso"}]}],"bundled":5},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.6::el8","package":"rh-sso7-keycloak","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:18.0.8-1.redhat_00001.1.el8sso"}]}],"bundled":5},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.6::el8","package":"rh-sso7-keycloak-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:18.0.8-1.redhat_00001.1.el8sso"}]}],"bundled":5},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.6::el9","package":"rh-sso7-keycloak","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:18.0.8-1.redhat_00001.1.el9sso"}]}],"bundled":5},{"source":"osv","ecosystem":"Red Hat:red_hat_single_sign_on:7.6::el9","package":"rh-sso7-keycloak-server","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:18.0.8-1.redhat_00001.1.el9sso"}]}],"bundled":5}],"products":[{"vendor":"red hat","product":"red hat single sign-on 7"},{"vendor":"red hat","product":"red hat single sign-on 7.6 for rhel 7"},{"vendor":"red hat","product":"red hat single sign-on 7.6 for rhel 8"},{"vendor":"red hat","product":"red hat single sign-on 7.6 for rhel 9"},{"vendor":"red hat","product":"rhel-8 based middleware containers"},{"vendor":"redhat","product":"openshift_container_platform"},{"vendor":"redhat","product":"openshift_container_platform_for_ibm_z"},{"vendor":"redhat","product":"openshift_container_platform_for_linuxone"},{"vendor":"redhat","product":"openshift_container_platform_for_power"},{"vendor":"redhat","product":"single_sign-on"}],"references":[{"url":"https://access.redhat.com/errata/RHSA-2023:3883","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Vendor Advisory","web","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2023:3884","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Vendor Advisory","web","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2023:3885","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Vendor Advisory","web","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2023:3888","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Vendor Advisory","web"]},{"url":"https://access.redhat.com/errata/RHSA-2023:3892","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Vendor Advisory","web"]},{"url":"https://access.redhat.com/security/cve/CVE-2023-2585","tags":["vdb-entry","x_refsource_REDHAT","x_transferred","Vendor Advisory","web","report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2196335","tags":["issue-tracking","x_refsource_REDHAT","x_transferred","Issue Tracking","Vendor Advisory","web","report"]},{"url":"https://github.com/keycloak/keycloak/security/advisories/GHSA-f5h4-wmp5-xhg6","tags":["web"]},{"url":"https://github.com/keycloak/keycloak/commit/04e6244c387a1bde86184635a0049537611e3915","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-2585","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-f5h4-wmp5-xhg6"},{"url":"https://github.com/keycloak/keycloak","tags":["package"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://access.redhat.com/articles/11258","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2151618","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2174246","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2182196","tags":["report"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2191668","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2023/rhsa-2023_3883.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2022-4361","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-4361","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-4361","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2023-1108","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-1108","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-1108","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-m4mm-pg93-fv78","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2023-1664","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-1664","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-1664","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-5cc8-pgp5-7mpm","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2023-2422","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-2422","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-2422","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-2585","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2023/rhsa-2023_3884.json","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2023/rhsa-2023_3885.json","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2023-2585","title":"Keycloak: client access via device auth request spoof","description":"Keycloak's device authorization grant does not correctly validate the device code and client ID. An attacker client could abuse the missing validation to spoof a client consent request and trick an authorization admin into granting consent to a malicious OAuth client or possible unauthorized access to an existing OAuth client.","status":"published","published":"2023-12-21T09:24:16.632Z","modified":"2024-08-02T06:26:09.896Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-358"],"updated_at":"2026-11-02T14:35:24.004321Z"}],"euvd":[{"id":"EUVD-2023-1780","description":"Keycloak's device authorization grant does not correctly validate the device code and client ID. An attacker client could abuse the missing validation to spoof a client consent request and trick an authorization admin into granting consent to a malicious OAuth client or possible unauthorized access to an existing OAuth client.","status":"published","published":"2023-12-21T09:24:16Z","modified":"2024-08-02T06:26:09Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"updated_at":"2026-11-03T03:50:14.098658Z"}],"ghsa":[{"id":"GHSA-f5h4-wmp5-xhg6","title":"Client Spoofing within the Keycloak Device Authorisation Grant","description":"Under certain pre-conditions the vulnerability allows an attacker to spoof parts of the device flow and use a device_code to retrieve an access token for other OAuth clients.","status":"published","published":"2023-06-30T20:29:25Z","modified":"2023-12-21T16:40:06Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"cwes":["CWE-358"],"updated_at":"2026-11-02T14:37:27.414424Z"}],"nvd":[{"id":"CVE-2023-2585","description":"Keycloak's device authorization grant does not correctly validate the device code and client ID. An attacker client could abuse the missing validation to spoof a client consent request and trick an authorization admin into granting consent to a malicious OAuth client or possible unauthorized access to an existing OAuth client.","status":"published","published":"2023-12-21T10:15:34.533Z","modified":"2026-06-17T05:52:54.277Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"secondary"},{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high","assessor":"primary"}],"cwes":["CWE-358"],"updated_at":"2026-11-02T14:08:57.117371Z"}],"osv":[{"id":"GHSA-f5h4-wmp5-xhg6","title":"Client Spoofing within the Keycloak Device Authorisation Grant","description":"Under certain pre-conditions the vulnerability allows an attacker to spoof parts of the device flow and use a device_code to retrieve an access token for other OAuth clients.","status":"published","published":"2023-06-30T20:29:25Z","modified":"2024-02-16T08:14:33.799348Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"cwes":["CWE-358"],"updated_at":"2026-11-02T15:46:46.006631Z"},{"id":"RHSA-2023:3883","title":"Red Hat Security Advisory: Red Hat Single Sign-On 7.6.4 security update on RHEL 7","status":"published","published":"2024-09-27T15:16:31Z","modified":"2026-10-02T10:03:10Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:53:11.154197Z"},{"id":"RHSA-2023:3884","title":"Red Hat Security Advisory: Red Hat Single Sign-On 7.6.4 security update on RHEL 8","status":"published","published":"2024-09-27T15:16:40Z","modified":"2026-10-02T10:03:10Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:53:11.154197Z"},{"id":"RHSA-2023:3885","title":"Red Hat Security Advisory: Red Hat Single Sign-On 7.6.4 security update on RHEL 9","status":"published","published":"2024-09-27T15:16:50Z","modified":"2026-10-02T10:03:11Z","cvss":[{"version":"3.1","score":8.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T15:53:11.154197Z"}]}}
