{"answers":{"affected":"2 open source packages ship an affected version, including org.springframework.security:spring-security-web. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-22747 in the wild and no public exploit code.","fix":"Upgrade org.springframework.security:spring-security-web to 7.0.5 or later.","what":"CVE-2026-22747 is a medium-severity authentication bypass vulnerability in Spring Security, published on 22 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-22747 and fix it if it is affected.\n\nWhat it is: CVE-2026-22747 is a medium-severity authentication bypass vulnerability in Spring Security, published on 22 Apr 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-22747 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- org.springframework.security:spring-security-web (Maven): affected from 7.0.0; fixed in 7.0.5\n- org.springframework.security:spring-security-web (Maven): affected from 7.0.0; fixed in 7.0.5\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-22747/ (Markdown: https://insights.sbomify.com/CVE-2026-22747/index.md)","id":"CVE-2026-22747","markdown":"https://insights.sbomify.com/CVE-2026-22747/index.md","name":"CVE-2026-22747","record":{"aliases":["CLEANSTART-2026-QH64443","CLSA-2026-1783645400","CLSA-2026-1790947292","GHSA-2jrg-rf5x-568g","MINI-2ww6-rqv3-7mx4","MINI-3xmj-69r2-6r9x","MINI-mmh5-g366-hwv4"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["account_takeover"],"network_reachable":"yes","non_default_config":true,"product_category":"Spring Security library","requires_auth":"low_privilege","summary":"Attackers can impersonate other users by exploiting malformed X.509 certificate handling in Spring Security when client certificate authentication is enabled.","user_interaction":"not_required","vuln_class":"auth_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"vmware","cpe":[{"product":"spring_security","vendor":"vmware"}],"cvss":{"score":6.8,"severity":"medium","source":"cna","vector":"CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-295","name":"Improper Certificate Validation"},{"id":"CWE-297","name":"Improper Validation of Certificate with Host Mismatch"}],"description":"Vulnerability in Spring Spring Security. SubjectX500PrincipalExtractor 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.\nThis issue affects Spring Security: from 7.0.0 through 7.0.4.","ecosystems":["Maven"],"exploits":{"exploitdb":0,"first_seen":"2026-08-09","github_poc":2,"max_poc_stars":0,"metasploit":0,"nuclei":0,"refs":[{"date":"2026-08-09T17:08:46Z","kind":"github_poc","ref":"https://github.com/gsadagopan/cve-2026-22747-sandbox","stars":0,"title":null},{"date":"2026-10-19T13:43:23Z","kind":"github_poc","ref":"https://github.com/yakissa/CVE-2026-22747","stars":0,"title":"Sprint Security 7.0.0 à 7.0.4"}],"tier":"poc_unverified"},"has_fix":true,"headline":"Unauthorized User Impersonation when Using X.509 Client Certificates","id":"CVE-2026-22747","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Maven","product":null,"products":[],"type":"auth_bypass","year":"2026"},"n_packages":2,"n_references":1,"next":{"headline":"Potential Security Misconfiguration when Using withIssuerLocation","id":"CVE-2026-22748"},"packages":[{"ecosystem":"Maven","fixed":["7.0.5"],"introduced":["7.0.0"],"last_affected":[],"package":"org.springframework.security:spring-security-web","purl":null,"source":"GHSA-2jrg-rf5x-568g"},{"ecosystem":"Maven","fixed":["7.0.5"],"introduced":["7.0.0"],"last_affected":[],"package":"org.springframework.security:spring-security-web","purl":"pkg:maven/org.springframework.security/spring-security-web","source":"GHSA-2jrg-rf5x-568g"}],"prev":{"headline":"User Attribute Enumeration when Using DaoAuthenticationProvider","id":"CVE-2026-22746"},"products":["Spring Security"],"published":"2026-04-22","related":[{"cvss_score":9.8,"headline":"Authorization Bypass in Spring Security","id":"CVE-2014-3527","kev_date_added":null,"published":"2017-05-25"},{"cvss_score":9.6,"headline":"Spring Security OAuth2 Authorization Server: Insufficient validation of Dynamic Client Registration metadata","id":"CVE-2026-59354","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.4,"headline":"Spring Security embedded UnboundID LDAP server exposes well-known administrative bind DN on all network interfaces","id":"CVE-2026-59270","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":9.1,"headline":"Under Some Conditions Spring Security HTTP Headers Are not Written","id":"CVE-2026-22732","kev_date_added":null,"published":"2026-03-19"},{"cvss_score":9.1,"headline":"Access Control Bypass in Spring Security","id":"CVE-2023-34034","kev_date_added":null,"published":"2023-07-19"},{"cvss_score":8.2,"headline":"Spring Security Authorization Server Default Consent Page is vulnerable to Cross-Site Scripting (XSS)","id":"CVE-2026-47877","kev_date_added":null,"published":"2026-08-27"},{"cvss_score":8.1,"headline":"Deserialization of Untrusted Data in Spring Security","id":"CVE-2017-4995","kev_date_added":null,"published":"2017-11-27"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-07-15","vendors":["Spring"]},"summary":"Attackers can impersonate other users by exploiting malformed X.509 certificate handling in Spring Security when client certificate authentication is enabled.","url":"https://insights.sbomify.com/CVE-2026-22747/"}