Vulnerabilidade do Spring Core no JDK9+


O Spring é um framework Java usado para construir aplicações Web Java.

Ele é uma ferramenta muito utilizada, atualmente é o framework mais popular quando se trata de desenvolvimento Java, ele vem sendo usado em áreas onde o desenvolvimento precisa ser otimizado e o foco seja nos projetos e não nas configurações e nas padronizações. Com essa ferramenta é possível ter maior domínio do projeto.

No final de Março de 2022, o Spring Core, também conhecido como Spring4Shell, apresentou uma vulnerabilidade para execução remota de código no JDK9+.

O Spring4Shell foi uma das três vulnerabilidades divulgadas no final de Março de 2022.

Em alguns casos, para explorar essa brecha, bastava que um invasor só enviasse uma solicitação HTTP, mas em configurações de projeto complexas seria mais trabalhoso explorar a falha mas ainda sim possível. Essa vulnerabilidade, atualmente já corrigida no Spring Framework 5.3.18 e 5.2.20, permitia que um invasor não autenticado executasse códigos abusivos no sistema.

A solução temporária era a criação de um componente ControllerAdvice e a adição de patterns perigosos a uma denylist. Exemplo:


Solução Atual


O plug-in de dependência do Apache Maven é uma ferramenta que pode ajudar a identificar se existe alguma biblioteca afetada no projeto. Informações sobre como configurar e usar o plug-in podem ser encontradas no tutorial.

E caso alguma biblioteca do projeto tenha sido afetada pela falha, para amenizar o risco basta atualizar o Spring Core para as versões 5.2.20 e 5.3.18 ou superior.



Pesquisa desenvolvida e escrita por Rayane Paiva.



57 visualizações0 comentário

Posts recentes

Ver tudo