{"id":"GHSA-293q-567p-wmwq","summary":"Spring Security Vulnerable to Unauthorized User Impersonation when Using X.509 Client Certificates","details":"In Spring Security Web, `SubjectDnX509PrincipalExtractor` does not correctly handle certain malformed X.509 certificate CN values, which can lead to reading the wrong value for the username. In a carefully crafted certificate, this can lead to an attacker impersonating another user.\n\n`SubjectDnX509PrincipalExtractor` is deprecated by this CVE and replaced with `SubjectX500PrincipalExtractor`. As part of updating, you should also migrate to `SubjectX500PrincipalExtractor`.\n\nAffected versions:\nSpring Security Enterprise 5.7.0 through 5.7.24; 5.8.0 through 5.8.26; 6.3.0 through 6.3.17; 6.4.0 through 6.4.17; 6.5.0 through 6.5.10. \nOSS 6.5.0 through 6.5.10.","aliases":["CVE-2026-47838"],"modified":"2026-07-17T21:12:46.752603262Z","published":"2026-06-10T00:31:53Z","database_specific":{"nvd_published_at":"2026-06-10T00:16:54Z","cwe_ids":["CWE-287"],"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2026-06-30T21:35:09Z"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47838"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-2jrg-rf5x-568g"},{"type":"WEB","url":"https://spring.io/security/cve-2026-47838"},{"type":"PACKAGE","url":"spring-projects/spring-security"}],"affected":[{"package":{"name":"org.springframework.security:spring-security-web","ecosystem":"Maven","purl":"pkg:maven/org.springframework.security/spring-security-web"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.5.0"},{"fixed":"6.5.11"}]}],"versions":["6.5.0","6.5.1","6.5.10","6.5.2","6.5.3","6.5.4","6.5.5","6.5.6","6.5.7","6.5.8","6.5.9"],"database_specific":{"last_known_affected_version_range":"\u003c= 6.5.10","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-293q-567p-wmwq/GHSA-293q-567p-wmwq.json"}},{"package":{"name":"org.springframework.security:spring-security-web","ecosystem":"Maven","purl":"pkg:maven/org.springframework.security/spring-security-web"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.4.0"},{"last_affected":"6.4.13"}]}],"versions":["6.4.0","6.4.1","6.4.10","6.4.11","6.4.12","6.4.13","6.4.2","6.4.3","6.4.4","6.4.5","6.4.6","6.4.7","6.4.8","6.4.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-293q-567p-wmwq/GHSA-293q-567p-wmwq.json"}},{"package":{"name":"org.springframework.security:spring-security-web","ecosystem":"Maven","purl":"pkg:maven/org.springframework.security/spring-security-web"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.0.0"},{"last_affected":"6.3.10"}]}],"versions":["6.0.0","6.0.1","6.0.2","6.0.3","6.0.4","6.0.5","6.0.6","6.0.7","6.0.8","6.1.0","6.1.1","6.1.2","6.1.3","6.1.4","6.1.5","6.1.6","6.1.7","6.1.8","6.1.9","6.2.0","6.2.1","6.2.2","6.2.3","6.2.4","6.2.5","6.2.6","6.2.7","6.2.8","6.3.0","6.3.1","6.3.10","6.3.2","6.3.3","6.3.4","6.3.5","6.3.6","6.3.7","6.3.8","6.3.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-293q-567p-wmwq/GHSA-293q-567p-wmwq.json"}},{"package":{"name":"org.springframework.security:spring-security-web","ecosystem":"Maven","purl":"pkg:maven/org.springframework.security/spring-security-web"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.8.0"},{"last_affected":"5.8.16"}]}],"versions":["5.8.0","5.8.1","5.8.10","5.8.11","5.8.12","5.8.13","5.8.14","5.8.15","5.8.16","5.8.2","5.8.3","5.8.4","5.8.5","5.8.6","5.8.7","5.8.8","5.8.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-293q-567p-wmwq/GHSA-293q-567p-wmwq.json"}},{"package":{"name":"org.springframework.security:spring-security-web","ecosystem":"Maven","purl":"pkg:maven/org.springframework.security/spring-security-web"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"5.7.14"}]}],"versions":["3.0.0.RELEASE","3.0.1.RELEASE","3.0.2.RELEASE","3.0.3.RELEASE","3.0.4.RELEASE","3.0.5.RELEASE","3.0.6.RELEASE","3.0.7.RELEASE","3.0.8.RELEASE","3.1.0.RELEASE","3.1.1.RELEASE","3.1.2.RELEASE","3.1.3.RELEASE","3.1.4.RELEASE","3.1.5.RELEASE","3.1.6.RELEASE","3.1.7.RELEASE","3.2.0.RELEASE","3.2.1.RELEASE","3.2.10.RELEASE","3.2.2.RELEASE","3.2.3.RELEASE","3.2.4.RELEASE","3.2.5.RELEASE","3.2.6.RELEASE","3.2.7.RELEASE","3.2.8.RELEASE","3.2.9.RELEASE","4.0.0.RELEASE","4.0.1.RELEASE","4.0.2.RELEASE","4.0.3.RELEASE","4.0.4.RELEASE","4.1.0.RELEASE","4.1.1.RELEASE","4.1.2.RELEASE","4.1.3.RELEASE","4.1.4.RELEASE","4.1.5.RELEASE","4.2.0.RELEASE","4.2.1.RELEASE","4.2.10.RELEASE","4.2.11.RELEASE","4.2.12.RELEASE","4.2.13.RELEASE","4.2.14.RELEASE","4.2.15.RELEASE","4.2.16.RELEASE","4.2.17.RELEASE","4.2.18.RELEASE","4.2.19.RELEASE","4.2.2.RELEASE","4.2.20.RELEASE","4.2.3.RELEASE","4.2.4.RELEASE","4.2.5.RELEASE","4.2.6.RELEASE","4.2.7.RELEASE","4.2.8.RELEASE","4.2.9.RELEASE","5.0.0.RELEASE","5.0.1.RELEASE","5.0.10.RELEASE","5.0.11.RELEASE","5.0.12.RELEASE","5.0.13.RELEASE","5.0.14.RELEASE","5.0.15.RELEASE","5.0.16.RELEASE","5.0.17.RELEASE","5.0.18.RELEASE","5.0.19.RELEASE","5.0.2.RELEASE","5.0.3.RELEASE","5.0.4.RELEASE","5.0.5.RELEASE","5.0.6.RELEASE","5.0.7.RELEASE","5.0.8.RELEASE","5.0.9.RELEASE","5.1.0.RELEASE","5.1.1.RELEASE","5.1.10.RELEASE","5.1.11.RELEASE","5.1.12.RELEASE","5.1.13.RELEASE","5.1.2.RELEASE","5.1.3.RELEASE","5.1.4.RELEASE","5.1.5.RELEASE","5.1.6.RELEASE","5.1.7.RELEASE","5.1.8.RELEASE","5.1.9.RELEASE","5.2.0.RELEASE","5.2.1.RELEASE","5.2.10.RELEASE","5.2.11.RELEASE","5.2.12.RELEASE","5.2.13.RELEASE","5.2.14.RELEASE","5.2.15.RELEASE","5.2.2.RELEASE","5.2.3.RELEASE","5.2.4.RELEASE","5.2.5.RELEASE","5.2.6.RELEASE","5.2.7.RELEASE","5.2.8.RELEASE","5.2.9.RELEASE","5.3.0.RELEASE","5.3.1.RELEASE","5.3.10.RELEASE","5.3.11.RELEASE","5.3.12.RELEASE","5.3.13.RELEASE","5.3.2.RELEASE","5.3.3.RELEASE","5.3.4.RELEASE","5.3.5.RELEASE","5.3.6.RELEASE","5.3.7.RELEASE","5.3.8.RELEASE","5.3.9.RELEASE","5.4.0","5.4.1","5.4.10","5.4.11","5.4.2","5.4.3","5.4.4","5.4.5","5.4.6","5.4.7","5.4.8","5.4.9","5.5.0","5.5.1","5.5.2","5.5.3","5.5.4","5.5.5","5.5.6","5.5.7","5.5.8","5.6.0","5.6.1","5.6.10","5.6.11","5.6.12","5.6.2","5.6.3","5.6.4","5.6.5","5.6.6","5.6.7","5.6.8","5.6.9","5.7.0","5.7.1","5.7.10","5.7.11","5.7.12","5.7.13","5.7.14","5.7.2","5.7.3","5.7.4","5.7.5","5.7.6","5.7.7","5.7.8","5.7.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/06/GHSA-293q-567p-wmwq/GHSA-293q-567p-wmwq.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N"}]}