Aplicações que corram Spring MVC e WebFlux com o JDK9+ estão vulneráveis a uma falha de execução de código remota em ambiente Tomcat via WAR (Web application archive). Caso a aplicação corra a partir de um executável jar, não se encontra vulnerável. O problema tem vindo a ser seguido pelo CVE-2022-22965.
Como acontece a falha
Há um acesso via ClassLoeader, sendo que o problema reside no processamento dos dados efetuado para popular um objeto a partir de parâmetros (sejam parâmetros de pedido ou dados de formulários). O processamento dos dados ou data binding é usado como parâmetro controlador anotado com o que é chamado de @ModelAttribute.
Versões afetadas
JDK 9 ou maior
Apache Tomcat como um Servlet container.
A correr através de um WAR normal (em oposição a um executável Spring jar).
Dependência do spring-webmvc ou spring-webflux
Spring Framework 5.3.0 à 5.3.17, 5.2.0 à 5.2.19, e versões mais velhas
Solução
- Spring Framework 5.3.18 e 5.2.20
- Spring Boot 2.6.6 e 2.5.12
- Apache Tomcat 10.0.20, 9.0.62, e 8.5.78
Mais informações no Advisory oficial: https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement#overview
Comments