Spring vulnerabilidade.

Após alguns dias da divulgação da vulnerabilidade Java no Log4JShell, foi agora divulgado uma vulnerabilidade dentro do spring framework.

A vulnerabilidade no Spring permite a execução remota da aplicação já está sendo chamado de Spring4Shell.

Basicamente a vulnerabilidade explora uma classe que permite criar um arquivo jsp que permite acesso ao invasor.

O problema é explorado a partir de combinações com Jdk 9 ou superior, Tomcat 10.0.19, 9.0.61, 8.5.78 ou inferior, Spring framework 5.3.0 até 5.3.17 ou 5.2.0 até 5.2.19.

Uma observação é que o ataque somente é explorado em pacotes war, os pacotes jar estão fora dessa vulnerabilidade.

Recall.

Para corrigir essa vulnerabilidade, principalmente quem tem a combinação dita no tópico anterior é seguir algumas das alterações.

Fazer downgrade para versão Jdk 8, apesar de não ser muito recomendado.

Fazer upgrade do Spring framework para as versões 5.2.20 ou 5.3.18 ou superior, o que pode ser recomendado para todos independentemente da combinação de stack.

Atualizar o Tomcat para versões diferentes de 10.0.20, 9.0.62, ou 8.5.78 para quem usa Tomcat como servidor de aplicação.

Outra opção mas um pouco invasiva é adicionar anotações de proteção nos códigos ou gerar pacotes jar no lugar dos pacotes war.

Conclusão.

Para evitar qualquer tipo de dor de cabeça nas suas aplicações, verifique se existe a combinação de stack e faça as correções, mas seria interessante independente da stack, fazer a atualização do Spring framework.