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.
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.jar
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.
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)
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.
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.jar
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2.jar
The usage of String.toLowerCase() and String.toUpperCase() has some Locale dependent exceptions that could potentially result in authorization rules not working properly.
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: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar
Found in HEAD commit: 3b30538692d1a33dde02f70ab928488ffde5244d
Vulnerabilities
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
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: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar
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: 3b30538692d1a33dde02f70ab928488ffde5244d
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
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.0%
### CVSS 4 Score Details (9.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 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: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.jar
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: 3b30538692d1a33dde02f70ab928488ffde5244d
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
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.3%
### CVSS 4 Score Details (9.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 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-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: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar
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: 3b30538692d1a33dde02f70ab928488ffde5244d
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
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (9.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 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-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: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2.jar
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: 3b30538692d1a33dde02f70ab928488ffde5244d
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
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.0%
### CVSS 4 Score Details (8.8)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 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-2024-38827
### Vulnerable Libraries - spring-security-config-5.7.2.jar, spring-security-web-5.7.2.jar, spring-security-crypto-5.7.2.jar, spring-security-core-5.7.2.jar### spring-security-config-5.7.2.jar
Spring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-config/5.7.2/spring-security-config-5.7.2.jar
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - :x: **spring-security-config-5.7.2.jar** (Vulnerable Library) ### spring-security-web-5.7.2.jar
Spring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - :x: **spring-security-web-5.7.2.jar** (Vulnerable Library) ### spring-security-crypto-5.7.2.jar
Spring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-crypto/5.7.2/spring-security-crypto-5.7.2.jar
Dependency Hierarchy: - spring-boot-starter-security-2.7.1.jar (Root Library) - spring-security-config-5.7.2.jar - spring-security-core-5.7.2.jar - :x: **spring-security-crypto-5.7.2.jar** (Vulnerable Library) ### spring-security-core-5.7.2.jar
Spring Security
Library home page: https://spring.io
Path to dependency file: /pom.xml
Path to vulnerable library: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-core/5.7.2/spring-security-core-5.7.2.jar
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: 3b30538692d1a33dde02f70ab928488ffde5244d
Found in base branch: main
### Vulnerability DetailsThe usage of String.toLowerCase() and String.toUpperCase() has some Locale dependent exceptions that could potentially result in authorization rules not working properly.
Publish Date: 2024-06-20
URL: CVE-2024-38827
### Threat AssessmentExploit Maturity: Not Defined
EPSS:
### CVSS 4 Score Details (6.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: High - Privileges Required: None - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://spring.io/security/cve-2024-38827
Release Date: 2024-06-20
Fix Resolution (org.springframework.security:spring-security-config): 5.7.14
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 3.0.0
Fix Resolution (org.springframework.security:spring-security-web): 5.7.14
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 3.0.0
Fix Resolution (org.springframework.security:spring-security-crypto): 5.7.14
Direct dependency fix Resolution (org.springframework.boot:spring-boot-starter-security): 3.0.0
Fix Resolution (org.springframework.security:spring-security-core): 5.7.14
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: /home/wss-scanner/.m2/repository/org/springframework/security/spring-security-web/5.7.2/spring-security-web-5.7.2.jar
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: 3b30538692d1a33dde02f70ab928488ffde5244d
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
### Threat AssessmentExploit Maturity: Not Defined
EPSS: 0.1%
### CVSS 4 Score Details (5.3)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: Low - User Interaction: None - Scope: N/A - Impact Metrics: - Confidentiality Impact: N/A - Integrity Impact: N/A - Availability Impact: N/A
For more information on CVSS4 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