
このリポジトリには、CVE-2023-4683 向けの簡単に使える POC が含まれています。このリポジトリを git clone し、webp-test を展開するか、setup-webp-test.sh を実行してください。
webp-test には必要なファイル(https://chromium.googlesource.com/webm/libwebp/ の git commit 7ba44f80f3b94fc0138db159afea770ef06532a0)がすでに含まれており、webp_test/examples フォルダには特別に細工された bad.webp と bad.webp.png ファイルがあります。また、細工されていない png ファイルも含まれています。
setup-webp-test.sh は、webp の依存関係をインストールし、脆弱性のある webp ソースコードをダウンロードして webp をコンパイルし、悪意のあるファイルを作成する POC インジェクターをダウンロードして、そのファイルを作成します。
使用手順:
cd webp_test/examples
./dwebp test.webp -o test.png
./dwebp bad.webp -o test.png
./dwebp bad.webp.png -o test.png
これは、サーバーがこの CVE に対して潜在的に脆弱であることを意味します。攻撃者は特別に細工されたファイルをサーバーにアップロードでき、そのサーバーが libwebp を通じてファイルを処理する場合、ファイル拡張子に関係なく、この CVE が実行されます。
以下の方々に感謝いたします:
https://github.com/mistymntncop - https://github.com/mistymntncop/CVE-2023-4863 - この POC をテストするために必要なデータを注入するクラフトファイルを作成
Ben Hawkes - https://blog.isosceles.com/the-webp-0day/ - この CVE の詳細な分析と、POC のセットアップ手順の記載