org.springframework.security:spring-security-web@5.7.2 vulnerabilities

Direct Vulnerabilities

Known vulnerabilities in the org.springframework.security:spring-security-web package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • M
Session Fixation

org.springframework.security:spring-security-web is a package within Spring Security that provides security services for the Spring IO Platform.

Affected versions of this package are vulnerable to Session Fixation due to the logout functionality not properly clearing the security context when using serialized versions. Additionally, it is not possible to explicitly save an empty security context to the HttpSessionSecurityContextRepository. This allows users to stay authenticated after a logout.

NOTE: Applications are only vulnerable if any of the following conditions are true:

  • The SecurityContextHolderFilter or requireExplicitSave(true) is in use with logout support for serialized sessions, and invalidateHttpSession(false).

  • Users are logged out manually by saving an empty SecurityContext into the HttpSessionSecurityContextRepository.

  • A custom SecurityContextRepository is in use that does not rely on the HttpSession.

How to fix Session Fixation?

Upgrade org.springframework.security:spring-security-web to version 5.7.8, 5.8.3, 6.0.3 or higher.

[5.7.0,5.7.8) [5.8.0,5.8.3) [6.0.0,6.0.3)
  • H
Authorization Bypass

org.springframework.security:spring-security-web is a package within Spring Security that provides security services for the Spring IO Platform.

Affected versions of this package are vulnerable to Authorization Bypass via forward or include dispatcher types.

An application is vulnerable when all of the following are true:

  1. The application expects that Spring Security applies security to forward and include dispatcher types.

  2. The application uses the AuthorizationFilter either manually or via the authorizeHttpRequests() method.

  3. 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).

  4. The application may forward or include the request to a higher privilege-secured endpoint.

  5. The application configures Spring Security to apply to every dispatcher type via authorizeHttpRequests().shouldFilterAllDispatcherTypes(true)

An application is not vulnerable if any of the following is true:

  1. The application does not use authorizeHttpRequests() or the AuthorizationFilter.

  2. The application does not forward/include requests.

  3. The application does not need to configure Spring Security to apply to FORWARD and INCLUDE dispatcher types.

How to fix Authorization Bypass?

Upgrade org.springframework.security:spring-security-web to version 5.6.9, 5.7.5 or higher.

[5.6.0,5.6.9) [5.7.0,5.7.5)