BLOG

Noções básicas e como lidar com o Spring4Shell e vulnerabilidades relacionadas (CVE-2022-22965, CVE-2022-22950, CVE-2022-22963)

Brian A. McHenry Miniatura
Brian A. McHenry
Publicado em 01 de abril de 2022

Para citar Yogi Berra, o imortal receptor do New York Yankees, membro do Hall da Fama da Major League Baseball e provedor de erros de linguagem, “É um déjà vu de novo”.

Justo quando todos nós pensávamos que era seguro voltar ao desenvolvimento de aplicativos após a dor e a rotatividade causadas pela vulnerabilidade do Log4j e os ataques do Log4Shell, eis que surge outra vulnerabilidade monstruosa para tirar um pedaço da segurança e devorar recursos valiosos.

Como você provavelmente já ouviu falar, em 29 de março de 2022, um pesquisador baseado na China postou capturas de tela de uma vulnerabilidade de Execução Remota de Código (RCE) na biblioteca Spring Core Java. A vulnerabilidade foi atribuída a CVE-2022-22965 e recebeu uma pontuação de gravidade CVSS de “Crítica”. A vulnerabilidade, relatada pela VMware , foi publicada no GitHub, mas foi rapidamente removida. Infelizmente, o dano já estava feito e a vulnerabilidade foi rapidamente publicada em outros repositórios.

Assim como muitas vulnerabilidades sérias que alcançam ampla atenção da mídia, a CVE-2022-22965 também recebeu um nome comum: Spring4Shell, ou em alguns casos, SpringShell. De qualquer forma, uma vulnerabilidade dessa gravidade, seja qual for o nome, é definitivamente perigosa, pois as bibliotecas Spring são usadas na maioria dos aplicativos como uma forma de economizar tempo para programadores Java.

De acordo com um blog publicado pela Spring como um anúncio antecipado do RCE em 31 de março de 2022, a vulnerabilidade afeta os aplicativos Spring MVC e Spring WebFlux quando executados no Java Development Kit (JDK) 9+. Também pode exigir que o aplicativo esteja em execução em um Apache Tomcat como um WAR. A vulnerabilidade afeta as versões 5.3.0 a 5.3.17, 5.2.0 a 5.2.19 do Spring Framework e versões mais antigas. Talvez mais preocupante, Spring continua alertando que “a natureza da vulnerabilidade é mais geral, e pode haver outras maneiras de explorá-la que ainda não foram relatadas”.

Além disso, de acordo com a Spring, aplicativos executados como implantações Java Archive (JAR), que é o padrão, não são vulneráveis ao CVE-2022-22965; no entanto, o fornecedor reconhece que eles podem ser afetados por outras técnicas de exploração.

A vulnerabilidade do Spring4Shell também vem na esteira de outra. No software Spring Cloud Function, versões 3.1.6 e 3.2.2, bem como em versões mais antigas e sem suporte, expressões de roteamento especialmente criadas em Spring Expression Language (SpEL) podem ser criadas para acessar recursos locais e possivelmente habilitar um ataque RCE. Originalmente classificado com uma pontuação de gravidade CVSS “Média”, o CVE-2022-22963 foi reclassificado como uma vulnerabilidade “Crítica”. As correções estão disponíveis atualizando para as versões 3.1.7 ou 3.2.3 do Spring Cloud Function.  

Além de CVE-2022-22965 e CVE-2022-22963, outra vulnerabilidade no Spring, CVE-2022-22950, foi relatada em 28 de março de 2022. É uma vulnerabilidade de negação de serviço (DoS) nas versões 5.3.0 – 5.3.16 do Spring Framework e versões mais antigas, sem suporte. A Spring lançou correções no Spring Framework 5.3.17+.

Até hoje, os scanners Spring4Shell já foram criados e implantados, com relatos de que a vulnerabilidade está sendo explorada ativamente.

O Spring lançou versões que corrigem a vulnerabilidade CVE-2022-22965, incluindo Spring Framework 5.3.18 e 5.2.20; e Spring Boot 2.5.12 que depende do Spring Framework 5.3.18. (O Spring Boot 2.6.6, que também depende do Spring Framework 5.3.18, deve ser lançado em breve, de acordo com o Spring.)

Embora o Spring tenha se saído bem ao lançar correções para lidar com essas vulnerabilidades graves, a responsabilidade mais uma vez recai sobre as organizações para atualizar e aplicar as correções o mais rápido possível. O desafio, assim como acontece com os problemas do Log4j/Log4Shell, é a onipresença das bibliotecas e o fato de que elas podem ser usadas em aplicações das quais as organizações podem não estar cientes. Se eles não sabem que um aplicativo está usando um conjunto afetado de bibliotecas, como uma organização pode se proteger e proteger seus usuários de serem afetados pela exploração?

É aí que entra o F5.

Embora existam semelhanças e diferenças nas características entre as vulnerabilidades do Spring Framework e as vulnerabilidades do Log4j e as explorações do Log4Shell, ambas podem ser detectadas e bloqueadas pela implantação de firewalls de aplicativos da Web (WAFs) e soluções de segurança semelhantes.

Como cliente da F5, você já conta com algumas das proteções mais potentes para se defender contra ataques baseados no Spring4Shell e vulnerabilidades relacionadas. No entanto, a F5 recomenda que você e suas equipes de desenvolvimento atualizem imediatamente quaisquer bibliotecas Spring afetadas e, se não forem mais necessárias, removam quaisquer bibliotecas Spring vulneráveis de seus aplicativos.

Veja como a F5 está dando suporte a você e protegendo seus aplicativos, organização e usuários por meio de nosso abrangente e dinâmico portfólio de produtos e serviços de segurança.

Equipe de Resposta a Incidentes de Segurança F5 (SIRT)

Se você estiver sob ataque ou estiver preocupado que sua organização e seus aplicativos estejam vulneráveis e expostos, entre em contato com nossa equipe de suporte da F5 e solicite um encaminhamento para o F5 SIRT . Disponível 24 horas por dia, 7 dias por semana, 365 dias por ano, esta equipe orientará você na aplicação de patches em sistemas e softwares F5, ajudará com configurações e auxiliará na implantação de iRules F5 para limitar qualquer exposição ou mitigar ataques.


BIG-IP Advanced WAF

A F5 lançou — e continuará a abordar e lançar — conjuntos de assinaturas disponíveis para implantações do BIG-IP Advanced WAF e do BIG-IP ASM para bloquear quaisquer vetores de ataque conhecidos expostos por vulnerabilidades do Spring4Shell. As assinaturas também estão sendo continuamente atualizadas com proteções contra quaisquer tentativas de desvio. Certifique-se de que você tem e está trabalhando com o pacote Attack Signature Update (ASU) mais atualizado. 

Para clientes que não implantaram o Advanced WAF ou ASM, uma iRule pode ser aplicada ao aplicativo para detectar, registrar e descartar qualquer tráfego ofensivo que possa ter como alvo CVEs específicos.

WAF DE NGINX APP PROTECT

A F5 garante segurança consistente de aplicativos, independentemente da plataforma F5 que os clientes usam e implantam. Portanto, os clientes do NGINX App Protect WAF receberão as mesmas assinaturas atualizadas simultaneamente com os clientes do BIG-IP Advanced WAF. Certifique-se de atualizar suas assinaturas do NGINX App Protect WAF. Para obter mais informações sobre como fazer isso, consulte estas orientações . Além disso, certifique-se de que o tipo de ataque “Injeção de código do lado do servidor” esteja habilitado na sua política WAF.

Distributed Cloud WAAP da F5

O recém-lançado F5 Distributed Cloud Web Application and API Protection (WAAP) protege aplicativos e APIs implantados em nuvens e sites de ponta com o firewall de aplicativo web (WAF) baseado em SaaS e proteção contra bots líder do setor da F5, segurança avançada de API e defesa DDoS L3-L7. A abordagem WAF única da F5 garante segurança consistente de aplicativos, independentemente da oferta da F5 implantada pelos clientes. Portanto, como as assinaturas para resolver as vulnerabilidades do Spring4Shell já foram criadas e disponibilizadas para o BIG-IP Advanced WAF e o NGINX App Protect WAF, elas também foram disponibilizadas simultaneamente para o Distributed Cloud WAAP. Nenhuma ação adicional precisa ser tomada, porque como cliente do Distributed Cloud WAAP, você já está protegido.

Distributed Cloud WAF da F5

Assim como o BIG-IP Advanced WAF, o NGINX App Protect e o Distributed Cloud WAAP, o F5 Distributed Cloud WAF já recebeu as assinaturas necessárias para proteger contra a exposição relacionada às vulnerabilidades do Spring4Shell. Eles estão incluídos na política WAF padrão, portanto, nenhuma ação adicional é necessária.

F5 Silverline WAF

A implementação das mitigações necessárias já foi realizada pela equipe F5 Silverline , garantindo aos clientes que seus aplicativos estão protegidos contra Spring4Shell e vulnerabilidades relacionadas. Monitorando continuamente as ameaças e pronto para aplicar quaisquer mitigações necessárias, em conjunto com a equipe de pesquisa de ameaças da F5 e você, nossos clientes, a F5 Silverline SOC amplia sua equipe de AppSec, trabalhando para você 24 horas por dia, 7 dias por semana, 365 dias por ano. Caso tenha alguma dúvida sobre o F5 Silverline, entre em contato com a equipe pelo e-mail support@f5silverline.com .

Threat Stack

O Threat Stack, adquirido recentemente pela F5, oferece recursos de inspeção, detecção e relatórios. O serviço Threat Stack inclui regras de detecção que determinam se um comprometimento do Spring4Shell é uma preocupação e pode iniciar serviços como root ou em execução a partir de um shell e escalar tentativas. Para mais informações, entre em contato com seu representante de vendas da F5 ou visite https://www.threatstack.com .

F5 Distributed Cloud Bot Defense

Uma tentativa de explorar uma vulnerabilidade como o Spring4Shell geralmente começa com um reconhecimento automatizado. O F5 Distributed Cloud Bot Defense é sua primeira linha de defesa. Ele pode interromper verificações automatizadas, aumentando o fator de dificuldade para invasores que tentam descobrir se sua organização tem algum aplicativo da web vulnerável ao Spring4Shell. Os Serviços de Nuvem Distribuída da F5 acompanham as táticas em constante evolução dos invasores que operam botnets, permitindo adaptação em tempo real contra ataques automatizados conduzidos por bots.

BIG-IP SSL Orchestrator

Como as bibliotecas Spring são usadas na grande maioria dos aplicativos baseados em Java, será um desafio para organizações como a sua determinar o escopo completo das vulnerabilidades e possíveis explorações que elas geram. Também pode levar algum tempo para que você atualize todos os aplicativos afetados, isto é, se você conseguir encontrá-los todos. Isso pode deixar seus aplicativos e organizações vulneráveis e exploráveis. O F5 SSL Orchestrator torna o tráfego criptografado visível, interrompendo ameaças criptografadas. Ele descriptografa o tráfego que atravessa sua rede, até mesmo o tráfego do servidor, e roteia automaticamente o tráfego para cadeias de segurança que você pode definir com base nas soluções em sua pilha de segurança. O SSL Orchestrator não apenas aborda ameaças criptografadas, mas também pode interromper tráfego malicioso criptografado, como tráfego destinado a um comando e controle (C2 ) servidor. O SSL Orchestrator não só pode mitigar o CVE-2022-22965, mas também protege contra vulnerabilidades e explorações futuras.

O F5 ajudará você a se manter atualizado e informado sobre as últimas novidades sobre o Spring4Shell ( CVE-2022-22965 ) e vulnerabilidades relacionadas, e como o F5 está se defendendo e mitigando quaisquer novas explorações geradas.

Conforme novas informações surgirem, atualizaremos este blog. Para mais contexto, você pode acessar os seguintes recursos:

K11510688: Vulnerabilidades do Spring Framework (Spring4Shell) e Spring Cloud CVE-2022-22965, CVE-2022-22950 e CVE-2022-22963

K24912123: Mitigar as vulnerabilidades do Spring Framework (Spring4Shell) e do Spring Cloud com o sistema BIG-IP