Se ha reportado un nuevo aviso de seguridad sobre una vulnerabilidad que afecta a Spring Framework, que permitiría a un atacante evadir reglas de autorización establecidas en el sistema.
La vulnerabilidad identificada como CVE-2022-31692, de severidad “alta”, sin una puntuación asignada aún. Esta vulnerabilidad se debe a una falla en el componente AuthorizationFilter. Esto permitiría a un atacante realizar omisión de reglas de autorización.
Una aplicación es vulnerable cuando se presentan las siguientes condiciones:
- La aplicación espera que Spring Security aplique una capa de seguridad para reenviar e incluir el tipo de lanzador (FORWARD o INCLUDE).
- La aplicación utiliza AuthorizationFilter manualmente o mediante el método authorizeHttpRequests().
- La aplicación configura FilterChainProxy para aplicar solicitudes de reenvío y/o inclusión (por ejemplo, spring.security.filter.dispatcher-types = request, error, async, forward, include).
- La aplicación puede reenviar o incluir la petición a un extremo con privilegios más elevados.
- La aplicación configura Spring Security para que se aplique a cada tipo de distribuidor a través de authorizeHttpRequests().shouldFilterAllDispatcherTypes(true).
Una aplicación no es vulnerable si se cumple alguna de las siguientes condiciones:
- La aplicación no utiliza authorizeHttpRequests(), ni AuthorizationFilter.
- La aplicación no reenvía ni incluye peticiones.
- La aplicación no necesita configurar Spring Security para aplicar a los tipos de lanzadores (FORWARD e INCLUDE).
Las versiones afectadas son:
- Spring Security, versión 5.7.0 a 5.7.4.
- Spring Security, versión 5.6.0 a 5.6.8.
Recomendamos acceder a las actualizaciones correspondientes provistas por el fabricante en los siguientes enlaces:
Referencias:
- https://securityonline.info/cve-2022-31692-spring-framework-authorization-rules-bypass-vulnerability/
- https://tanzu.vmware.com/security/cve-2022-31692
- https://docs.spring.io/spring-security/reference/servlet/authorization/authorize-http-requests.html
- https://nvd.nist.gov/vuln/detail/CVE-2022-31692
- https://github.com/spring-projects/spring-security/releases/tag/5.6.9