Pular para o conteúdo principal
Dark background with blue code overlay

Blog

Blog da Akamai | Injeção SpEL do Spring Cloud Function (CVE-2022-22963) explorada em ambientes reais

Akamai Wave Blue

escrito por

Akamai Threat Research Team

March 31, 2022

Visão geral

Em 24 de março de 2022, a Pivotal corrigiu uma vulnerabilidade crítica de injeção de código no lado do servidor (injeção de linguagem Spring Expression) no Spring Cloud Function que poderia levar ao comprometimento do sistema. A Spring é a popular estrutura Java de código-fonte aberto. Essa e outra vulnerabilidade descoberta de RCE (execução remota de código) (Spring Core ou Spring4Shell) são atenuadas pelos conjuntos de regras do ASE (Adaptive Security Engine) Kona Site Defender (KSD). Esta publicação se concentra nas vulnerabilidades do Spring Cloud, mas você pode ler sobre a vulnerabilidade do Spring Core aqui.

O Spring Cloud Function é uma tecnologia que permite dissociar a lógica de negócios de um tempo de execução específico. A Spring Expression Language (Svel) é uma linguagem de expressão poderosa, usada em todo o portfólio Spring, compatível com a consulta e manipulação de um gráfico de objeto no tempo de execução. Muitas CVEs (Common Vulnerabilities and Exposures, vulnerabilidades e exposições comuns) de execução remota de código foram relatadas no passado em torno da injeção SpEL quando o aplicativo avaliou expressões de código de entrada do usuário não confiáveis de maneira insegura (consulte a Figura 1).

 

Fig 1: Patch de código de função Spring Cloud no GitHub

Alguns dias depois, em 26 de março, o usuário do GitHub "cckuailong" publicou uma exploração de prova de conceito mostrando a exploração bem-sucedida dessa vulnerabilidade (consulte a Figura 2).

 

Fig 2: Uma exploração de prova de conceito publicada

Menos de um dia depois, a Akamai começou a observar tentativas de exploração na internet.

 

Fig 3: Tentativas de exploração a partir de 27 de março (Fonte: Akamai Web Security Analytics de um cliente específico)

Assim como o Log4j, muitas (mas não todas) das tentativas atuais são sondas de "ping back", nas quais os invasores instruem o aplicativo a enviar um beacon em caso de exploração bem-sucedida.

 

Vimos milhares de endereços IP de todo o mundo enviando carga útil de ataque, enquanto a maioria é rede privada virtual (VPN) e proxies da web hospedados em nuvens públicas.

A vulnerabilidade

Com o patch, é possível observar que uma expressão SpEL pode ser recebida através do cabeçalho HTTP "spring.cloud.function.routing-expression", o que facilita o roteamento da aplicação.

 

 

Não houve verificação no código se a expressão a ser avaliada poderia ser recebida por um cabeçalho. Para resolver esse problema, um headerEvalContext separado que é um SimpleEvaluationContext foi adicionado.

 

Atenuação com o mecanismo de segurança adaptável KSD

O ASE (Adaptive Security Engine) tem extensas regras integradas para detectar injeções de comandos, pois o objetivo de muitos desses ataques é executar comandos no nível do sistema operacional. O ASE conseguiu detectar esse zero-day com as regras de injeção de comando existentes:

 

E os conjuntos de regras do Kona Site Defender também atenuam esses ataques:

  • 3000041 – Injeção de modelo no lado do servidor

  • 3000156 – Ataque de injeção de CMD detectado (funções de alto risco de PHP)

Resumo

Embora os Spring Cloud Functions não sejam tão populares quanto a biblioteca Log4j , a facilidade de exploração dessa vulnerabilidade atrairá muitos agentes de ameaças. Prevemos que isso resultará em muitos desses agentes lançando campanhas para criptomineração, DDoS e ransomware como uma oportunidade de ouro para invadir organizações nos próximos anos. No entanto, os clientes da Akamai estão protegidos com os conjuntos de regras Akamai Adaptive Security Engine e Kona Site Defender.

A equipe de Pesquisa de ameaças da Akamai continua monitorando a exploração dessa vulnerabilidade e será atualizada à medida que novas variantes surgirem ou se observarmos novas gangues cibernéticas adicionando essa vulnerabilidade ao arsenal.



Akamai Wave Blue

escrito por

Akamai Threat Research Team

March 31, 2022