CVE-2022-42889 テストアプリケーション
このリポジトリには、CVE-2022-42889 に対して脆弱な Apache Commons Text 1.9 を使用したシンプルなアプリケーションが含まれています。
エクスプロイトを再現する手順
リポジトリ内でエクスプロイトを再現する手順
- DemoApplication.java を自分のリポジトリにコピーします。
- デフォルトの文字列を使用してメインメソッドを実行します(推奨)。
- デフォルトの文字列に対する出力が 519 の場合、またはアプリがエラーなしで実行される場合:
VM でのアプリケーションの実行
- リポジトリをクローンします
- プロジェクトをビルドします
mvn assembly:assembly -DdescriptorId=jar-with-dependencies
- VM でアプリケーションを実行します(以下のコマンドを使用)
java -jar target/demo-0.0.1-SNAPSHOT-jar-with-dependencies.jar
- 入力が求められたら、デフォルトの文字列のまま(Enter キーを押す)にします。
- デフォルトの文字列に対する出力が 519 の場合、またはアプリがエラーなしで実行される場合:
Docker でのアプリケーションの実行
- リポジトリをクローンします
- OPENJRE_JRE_IMAGE を自分のリポジトリ内のイメージに置き換えます。
- Docker を使用してアプリケーションをビルドして実行します:
docker build -t poc .
docker run -it poc
- 入力が求められたら、デフォルトの文字列のまま(Enter キーを押す)にします。
- デフォルトの文字列に対する出力が 519 の場合、またはアプリがエラーなしで実行される場合:
ご覧のとおり、操作が実行されました。これは RCE が成功したことを示しています。