{"id":"GHSA-3qh5-qqj2-c78f","summary":"Keycloak vulnerable to Improper Client Certificate Validation for OAuth/OpenID clients","details":"When a Keycloak server is configured to support mTLS authentication for OAuth/OpenID clients, it does not properly verify the client certificate chain. A client that possesses a proper certificate can authorize itself as any other client and therefore access data that belongs to other clients.","aliases":["CVE-2023-2422"],"modified":"2024-02-16T08:22:30.918600Z","published":"2023-06-30T20:31:37Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2023-06-30T20:31:37Z","nvd_published_at":"2023-10-04T11:15:10Z","cwe_ids":["CWE-295"]},"references":[{"type":"WEB","url":"https://github.com/keycloak/keycloak/security/advisories/GHSA-3qh5-qqj2-c78f"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-2422"},{"type":"WEB","url":"https://github.com/keycloak/keycloak/commit/5c6c55945a384bfd82e51283096204dcb6f63d91"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2023:3883"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2023:3884"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2023:3885"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2023:3888"},{"type":"WEB","url":"https://access.redhat.com/errata/RHSA-2023:3892"},{"type":"WEB","url":"https://access.redhat.com/security/cve/CVE-2023-2422"},{"type":"WEB","url":"https://bugzilla.redhat.com/show_bug.cgi?id=2191668"},{"type":"PACKAGE","url":"https://github.com/keycloak/keycloak"}],"affected":[{"package":{"name":"org.keycloak:keycloak-services","ecosystem":"Maven","purl":"pkg:maven/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"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/06/GHSA-3qh5-qqj2-c78f/GHSA-3qh5-qqj2-c78f.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N"}]}