CVE-2023-34035
Spring Security's authorization rules can be misconfigured when using multiple servlets
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.3
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
- Record
CVE-2023-34035- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
EUVDEUVD-2023-1959
7.3
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
- Record
EUVD-2023-1959- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-4vpr-xfrp-cj64
7.3
Spring Security's authorization rules can be misconfigured when using multiple servlets
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
- Record
GHSA-4vpr-xfrp-cj64- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-863
- Updated
- 2026-11-02
NVD
7.3
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
- Record
CVE-2023-34035- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N - Weakness
- CWE-863
- Updated
- 2026-11-02
OSV
7.3
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
- Record
CVE-2023-34035- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVGHSA-4vpr-xfrp-cj64
7.3
Spring Security's authorization rules can be misconfigured when using multiple servlets
Spring Security versions 5.8 prior to 5.8.5, 6.0 prior to 6.0.5, and 6.1 prior to 6.1.2 could be susceptible to authorization rule misconfiguration if the application uses requestMatchers(String) and multiple servlets, one of them being Spring MVC’s DispatcherServlet. (DispatcherServlet is a Spring MVC component that maps HTTP endpoints to methods on @Controller-annotated classes.)
Specifically, an application is vulnerable when all of the following are true:
- Spring MVC is on the classpath
- Spring Security is securing more than one servlet in a single application (one of them being Spring MVC’s DispatcherServlet)
- The application uses requestMatchers(String) to refer to endpoints that are not Spring MVC endpoints
An application is not vulnerable if any of the following is true:
- The application does not have Spring MVC on the classpath
- The application secures no servlets other than Spring MVC’s DispatcherServlet
- The application uses requestMatchers(String) only for Spring MVC endpoints
- Record
GHSA-4vpr-xfrp-cj64- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-863
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.springframework.security:spring-security-configMaven |
5.8.0 up to 5.8.5 | 5.8.5 |
org.springframework.security:spring-security-configMaven |
6.0.0 up to 6.0.5 | 6.0.5 |
org.springframework.security:spring-security-configMaven |
6.1.0 up to 6.1.2 | 6.1.2 |
org.springframework.security:spring-security-configMaven |
5.8.0 up to 5.8.5, plus listed versions 5.8.15.8.25.8.35.8.4 |
5.8.5 |
org.springframework.security:spring-security-configMaven |
6.0.0 up to 6.0.5, plus listed versions 6.0.16.0.26.0.36.0.4 |
6.0.5 |
org.springframework.security:spring-security-configMaven |
6.1.0 up to 6.1.2, plus listed versions 6.1.1 |
6.1.2 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | jzheaux/cve-2023-34035-mitigations | 2023-08-01 |
| PoC in GitHub | mouadk/CVE-2023-34035-Poc | 2023-05-16 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases, products, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-34035 is a high vulnerability (CVSS 7.3) in Spring Security, published July 18, 2023. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 0.66%, the 51st percentile. Fixed in org.springframework.security:spring-security-config 5.8.5.
References
spring.io/security/cve-2023-34035
nvd.nist.gov/vuln/detail/CVE-2023-34035
github.com/spring-projects/spring-security-samples/commit/4e3bec904a5467db28ea33e25ac9d90524b53d66
github.com/spring-projects/spring-security/commit/bb46a5427005e33e637b15948de8adae244ce547
github.com/spring-projects/spring-security/commit/df239b6448ccf138b0c95b5575a88f33ac35cd9a
github.com/spring-projects/spring-security-samples/tree/main/servlet/java-configuration/authentication/preauth
github.com/advisories/GHSA-4vpr-xfrp-cj64
github.com/CVEProject/cvelistV5/tree/main/cves/2023/34xxx/CVE-2023-34035.json