
CVE-2022-22965\Spring-Core-RCE comparável ao exploit de RCE com um clique da vulnerabilidade de nível de bomba nuclear do Apache Log4j2
Spring-Core-RCE é comparável ao exploit de nível nuclear do Apache Log4j2 para RCE com um clique.
Recentemente, uma issue no GitHub oficial do Spring mencionou uma vulnerabilidade de execução remota de comandos no Spring Core, que existe amplamente no Spring Framework e em frameworks derivados.

Spring Core é um pacote de ferramentas da série de produtos Spring responsável por descobrir, criar e gerenciar as relações entre beans. É um pacote central que contém os fundamentos do Spring Framework, e todos os outros componentes do Spring o utilizam.
Atacantes não autenticados podem usar esta vulnerabilidade para executar código arbitrário remotamente. A vulnerabilidade existe amplamente no Spring Framework e em frameworks derivados, afetando versões do JDK 9.0 ou superiores. Produtos que usam versões antigas do JDK não são afetados. Recomenda-se que as empresas com esta vulnerabilidade bloqueiem requisições contendo strings especiais no firewall para evitar ataques.


docker run -d -p 8080:8080 vulfocus/spring-core-rce-2022-03-29:latest



Acessar http://127.0.0.1:8080/tomcatwar.jsp?pwd=j&cmd=whoami

O Spring Framework e seus frameworks derivados são afetados (versões do JDK 9.0 ou superiores).
De acordo com os dados mais recentes do sistema FOFA (dados de um ano), globalmente (usando a consulta FOFA mencionada) há 7.023.506 serviços relacionados expostos publicamente. A China tem o maior número, com 2.987.121; os EUA em segundo, com 1.215.955; o Brasil em terceiro, com 381.319; a Coreia do Sul em quarto, com 219.201; e a Alemanha em quinto, com 213.097.
Distribuição global abaixo (apenas distribuição, não o impacto da vulnerabilidade)
Atualizar a versão do Spring Framework
Spring Framework == 5.3.18
Spring Framework == 5.2.20
Adicione as seguintes regras no WAF para filtrar strings de entrada especiais:
Class.*
class.*
*.class.*
*Class.*
Você pode pesquisar pela anotação @InitBinder no código do produto afetado para verificar se o corpo do método contém o método dataBinder.serDisallowerFields. Se existir, adicione as seguintes regras de filtragem na lista negra:
Class.*
class.*
*.class.*
*Class.*
[1] https://github.com/spring-projects/spring-framework/issues/27483
[2] https://github.com/google/tsunami-security-scanner-plugins/issues/234