Spring Security, versions 5.7 prior to 5.7.5 and 5.6 prior to 5.6.9 could be susceptible to authorization rules bypass via forward or include dispatcher types. Specifically, an application is vulnerable when all of the following are true: The application expects that Spring Security applies security to forward and include dispatcher types. The application uses the AuthorizationFilter either manually or via the authorizeHttpRequests() method. The application configures the FilterChainProxy to apply to forward and/or include requests (e.g. spring.security.filter.dispatcher-types = request, error, async, forward, include). The application may forward or include the request to a higher privilege-secured endpoint.The application configures Spring Security to apply to every dispatcher type via authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)
Spring WebFlux applications that have Spring Security authorization rules on static resources can be bypassed under certain circumstances.
For this to impact an application, all of the following must be true: It must be a WebFlux application, It must be using Spring's static resources support, and it must have a non-permitAll authorization rule applied to the static resources support.
Using "**" as a pattern in Spring Security configuration
for WebFlux creates a mismatch in pattern matching between Spring
Security and Spring WebFlux, and the potential for a security bypass.
In Spring Security, versions 5.7.x prior to 5.7.12, 5.8.x prior to
5.8.11, versions 6.0.x prior to 6.0.9, versions 6.1.x prior to 6.1.8,
versions 6.2.x prior to 6.2.3, an application is possible vulnerable to
broken access control when it directly uses the AuthenticatedVoter#vote passing a null Authentication parameter.
In Spring Security, versions 5.7.x prior to 5.7.8, versions 5.8.x prior to 5.8.3, and versions 6.0.x prior to 6.0.3, the logout support does not properly clean the security context if using serialized versions. Additionally, it is not possible to explicitly save an empty security context to the HttpSessionSecurityContextRepository. This vulnerability can keep users authenticated even after they performed logout. Users of affected versions should apply the following mitigation. 5.7.x users should upgrade to 5.7.8. 5.8.x users should upgrade to 5.8.3. 6.0.x users should upgrade to 6.0.3.
Vulnerable Library - spring-boot-starter-security-2.7.1.jar
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Found in HEAD commit: aa225d319bbc2e5a7f67311333ffd522370dca22
Vulnerabilities
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2022-31692
### Vulnerable Library - spring-security-web-5.7.2.jarSpring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - :x: **spring-security-web-5.7.2.jar** (Vulnerable Library)
Found in HEAD commit: aa225d319bbc2e5a7f67311333ffd522370dca22
Found in base branch: main
### Vulnerability DetailsSpring Security, versions 5.7 prior to 5.7.5 and 5.6 prior to 5.6.9 could be susceptible to authorization rules bypass via forward or include dispatcher types. Specifically, an application is vulnerable when all of the following are true: The application expects that Spring Security applies security to forward and include dispatcher types. The application uses the AuthorizationFilter either manually or via the authorizeHttpRequests() method. The application configures the FilterChainProxy to apply to forward and/or include requests (e.g. spring.security.filter.dispatcher-types = request, error, async, forward, include). The application may forward or include the request to a higher privilege-secured endpoint.The application configures Spring Security to apply to every dispatcher type via authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)
Publish Date: 2022-10-31
URL: CVE-2022-31692
### CVSS 3 Score Details (9.8)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: High - Availability Impact: High
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://tanzu.vmware.com/security/cve-2022-31692
Release Date: 2022-10-31
Fix Resolution (org.springframework.security:spring-security-web): 5.7.5
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 2.7.6
In order to enable automatic remediation, please create workflow rules
CVE-2024-38821
### Vulnerable Library - spring-security-web-5.7.2.jarSpring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - :x: **spring-security-web-5.7.2.jar** (Vulnerable Library)
Found in HEAD commit: aa225d319bbc2e5a7f67311333ffd522370dca22
Found in base branch: main
### Vulnerability DetailsSpring WebFlux applications that have Spring Security authorization rules on static resources can be bypassed under certain circumstances. For this to impact an application, all of the following must be true: It must be a WebFlux application, It must be using Spring's static resources support, and it must have a non-permitAll authorization rule applied to the static resources support.
Publish Date: 2024-10-28
URL: CVE-2024-38821
### CVSS 3 Score Details (9.1)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: High - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-38821
Release Date: 2024-10-28
Fix Resolution (org.springframework.security:spring-security-web): 5.7.13
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 3.0.0
In order to enable automatic remediation, please create workflow rules
CVE-2023-34034
### Vulnerable Library - spring-security-config-5.7.2.jarSpring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - :x: **spring-security-config-5.7.2.jar** (Vulnerable Library)
Found in HEAD commit: aa225d319bbc2e5a7f67311333ffd522370dca22
Found in base branch: main
### Vulnerability DetailsUsing "**" as a pattern in Spring Security configuration for WebFlux creates a mismatch in pattern matching between Spring Security and Spring WebFlux, and the potential for a security bypass.
Publish Date: 2023-07-19
URL: CVE-2023-34034
### CVSS 3 Score Details (9.1)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: High - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2023-34034
Release Date: 2023-07-19
Fix Resolution (org.springframework.security:spring-security-config): 5.7.10
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 2.7.14
In order to enable automatic remediation, please create workflow rules
CVE-2024-22257
### Vulnerable Library - spring-security-core-5.7.2.jarSpring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - spring-security-config-5.7.2.jar - :x: **spring-security-core-5.7.2.jar** (Vulnerable Library)
Found in HEAD commit: aa225d319bbc2e5a7f67311333ffd522370dca22
Found in base branch: main
### Vulnerability DetailsIn Spring Security, versions 5.7.x prior to 5.7.12, 5.8.x prior to 5.8.11, versions 6.0.x prior to 6.0.9, versions 6.1.x prior to 6.1.8, versions 6.2.x prior to 6.2.3, an application is possible vulnerable to broken access control when it directly uses the AuthenticatedVoter#vote passing a null Authentication parameter.
Publish Date: 2024-03-18
URL: CVE-2024-22257
### CVSS 3 Score Details (8.2)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: Low - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-22257
Release Date: 2024-03-18
Fix Resolution (org.springframework.security:spring-security-core): 5.7.12
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 3.0.0
In order to enable automatic remediation, please create workflow rules
CVE-2023-20862
### Vulnerable Library - spring-security-web-5.7.2.jarSpring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /pom.xml
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - :x: **spring-security-web-5.7.2.jar** (Vulnerable Library)
Found in HEAD commit: aa225d319bbc2e5a7f67311333ffd522370dca22
Found in base branch: main
### Vulnerability DetailsIn Spring Security, versions 5.7.x prior to 5.7.8, versions 5.8.x prior to 5.8.3, and versions 6.0.x prior to 6.0.3, the logout support does not properly clean the security context if using serialized versions. Additionally, it is not possible to explicitly save an empty security context to the HttpSessionSecurityContextRepository. This vulnerability can keep users authenticated even after they performed logout. Users of affected versions should apply the following mitigation. 5.7.x users should upgrade to 5.7.8. 5.8.x users should upgrade to 5.8.3. 6.0.x users should upgrade to 6.0.3.
Publish Date: 2023-04-19
URL: CVE-2023-20862
### CVSS 3 Score Details (6.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: Low - Availability Impact: Low
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2023-20862
Release Date: 2023-04-19
Fix Resolution (org.springframework.security:spring-security-web): 5.7.8
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 2.7.12
In order to enable automatic remediation, please create workflow rules
In order to enable automatic remediation for this issue, please create workflow rules