
Script de automação em Python que reproduz o CVE-2022-22963, uma injeção crítica de SpEL no Spring Cloud Function, permitindo reverse shell em ambientes de laboratório autorizados.
Automação educacional de prova de conceito para CVE-2022-22963, demonstrada em um ambiente de laboratório autorizado do Hack The Box.
CVE-2022-22963 é uma vulnerabilidade do Spring Cloud Function que envolve o
cabeçalho spring.cloud.function.routing-expression.
Em configurações vulneráveis, um atacante pode abusar da avaliação da Spring Expression Language (SpEL) para invocar funcionalidades Java através do mecanismo de roteamento de funções.
Este repositório contém um script de automação em Python usado para reproduzir a vulnerabilidade em um ambiente autorizado de CTF/laboratório.
CVE ID: CVE-2022-22963 Componente afetado: Spring Cloud Function Versões afetadas: < 3.1.7, < 3.2.3 Versões corrigidas: 3.1.7, 3.2.3 Classe de vulnerabilidade: Injeção de Expression Language (CWE-917) Vetor de ataque: Rede, sem autenticação (depende da implantação) Severidade: Crítica (CVSS 9.8 segundo o NVD) Referências Entrada no NVD: https://nvd.nist.gov/vuln/detail/CVE-2022-22963 Aviso oficial da Spring: https://spring.io/security/cve-2022-22963 Commit de correção / notas de versão: consulte os releases do Spring Cloud Function no GitHub
O recurso de roteamento do Spring Cloud Function permite que quem chama selecione qual função deve tratar uma requisição por meio de um cabeçalho. Antes da correção, o valor desse cabeçalho era passado para um contexto de avaliação SpEL sem restrições. Como a SpEL suporta invocar classes e métodos Java arbitrários (por exemplo, T(java.lang.Runtime)), um valor de cabeçalho malicioso pode resultar na execução de comandos do sistema operacional no host que executa o aplicativo vulnerável.
A exploração bem-sucedida permite que um atacante não autenticado execute comandos arbitrários do sistema operacional com os privilégios do processo da aplicação, o que pode levar ao comprometimento total do host, movimento lateral ou exfiltração de dados, dependendo da configuração do ambiente.
o código fornecido permite injetar um shell reverso em um alvo vulnerável
usage: exploit.py [-h] lhost lport url
Este conteúdo é fornecido apenas para pesquisa e educação autorizadas em segurança (por exemplo, ambientes de laboratório do HTB). Não use estas informações contra sistemas que você não possui ou para os quais não tenha permissão explícita por escrito para testar.