Spring4Shell: uma vulnerabilidade crítica no framework Spring Java

Um pesquisador encontrou uma vulnerabilidade crítica no Spring, um framework Java muito popular. Neste artigo contamos como funciona, por que é perigoso e como se proteger.

Pesquisadores descobriram uma vulnerabilidade crítica, CVE-2022-22965 , no Spring, uma estrutura de código aberto para a plataforma Java. Infelizmente, todas as informações sobre a vulnerabilidade vazaram para o público antes que o anúncio oficial fosse publicado e as patches fossem lançadas.

A vulnerabilidade atraiu imediatamente a atenção de especialistas em segurança da informação, pois potencialmente representa uma séria ameaça a muitos aplicativos da web. Assim como o famoso Log4Shell, a nova vulnerabilidade foi denominada Spring4Shell.

Os criadores do VMware Spring Framework já lançaram patches para corrigir aplicativos vulneráveis, por isso recomendamos que toda as empresas que usam as versões 5.3 e 5.2 do Spring Framework atualizem imediatamente para as versões 5.3.18 ou 5.2.20.

O que é Spring4Shell e por que é uma vulnerabilidade tão perigosa?

Essa vulnerabilidade pertence ao tipo RCE, ou seja, permite que um cibercriminoso execute código malicioso remotamente. No momento, de acordo com a calculadora CVSS v3.0 , sua gravidade é de 9,8 em 10. A vulnerabilidade afeta os aplicativos Spring MVC e Spring WebFlux executados no Java Development Kit versão 9 ou posterior.

Os pesquisadores relataram a descoberta da vulnerabilidade ao VMware na noite de terça-feira e já haviam publicado a Prova de Conceito (PoC) para a vulnerabilidade no GitHub na quarta-feira. Esta PoC foi rapidamente removida, mas não antes de ser notada por especialistas em segurança (na verdade, alguns confirmaram o perigo da vulnerabilidade). E é altamente improvável que um exploit tão poderoso tenha passado despercebida pelos cibercriminosos.

O Spring Framework é bastante popular entre os desenvolvedores Java, o que significa que muitos aplicativos podem ser expostos à vulnerabilidade. De acordo com esta publicação do Bleeping Computer, aplicativos Java vulneráveis ao Spring4Shell podem acabar comprometendo um grande número de servidores. Além disso, de acordo com esta mesma publicação, a vulnerabilidade já está sendo explorada ativamente.

Para obter mais informações técnicas, juntamente com indicadores de comprometimento das vulnerabilidades do Spring4Shell, acesse este artigo em Securelist . Você também encontrará uma descrição de outra vulnerabilidade crítica no framework Spring para Java (CVE-2022-22963) nesta mesma publicação..

Condições para explorar uma vulnerabilidade Spring4Shell

O único método de exploração Spring4Shell atualmente conhecido requer uma sequência específica de eventos. Para que o exploit seja bem-sucedido, o responsável pelo ataque deve usar os seguintes componentes:

  • Java Development Kit versão 9 ou posterior;
  • Apache Tomcat como um container para  servlets;
  • Um formato de arquivo WAR (recurso de aplicativo da web) em vez do JAR padrão;
  • Dependências em spring-webmvc ou spring-webflux;
  • Spring Framework versões 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 ou anteriores.

No entanto, é bem possível que existam mais opções de invasão ainda desconhecidas e que a mesma vulnerabilidade possa ser explorada de alguma outra forma.

Como se proteger do Spring4Shell

O principal conselho para quem usa o Spring Framework é atualizar para as versões seguras 5.3.18 ou 5.2.20.

Apache Software Foundation também lançou versões corrigidas do Apache Tomcat 10.0.20, 9.0.62 e 8.5.78, nas quais o vetor de ataque está bloqueado por meio do Tomcat.

Os desenvolvedores do Spring também lançaram versões corrigidas das extensões Spring Boot 2.5.12 e 2.6.6 que dependem da versão corrigida do Spring Framework 5.3.18.

Se por algum motivo você não puder atualizar qualquer um desses softwares, você deve usar uma das soluções alternativas postadas no site oficial do Spring.

Para minimizar o risco de um ataque bem-sucedido, recomendamos que você proteja todos os servidores, bem como qualquer outro equipamento conectado à Internet com uma solução de segurança confiável. Se você usa algum produto de segurança da Kaspersky, certifique-se de que os módulos avançados de  prevenção de exploração e o bloqueador de ataques de rede estejam ativados.

Mais testado Mais premiado

 

Dicas