このリポジトリには、CVE-2024-30052 に関連する資料が含まれています。脆弱性の詳細については、私のブログ記事をご覧ください。
構造
- builder フォルダには、脆弱性を悪用するダンプファイルを作成するプログラムのソースファイルが含まれています。
- poc フォルダには、開くと calc.exe を起動する3つの概念実証ファイル (chm, hta, py) が含まれています。
- manifest フォルダには、VS バージョン 17.8.10 用のマニフェストが含まれており、テスト時にその特定のバージョンをローカルにダウンロードしやすくしています。
POC の実行
- Visual Studio 2022 で CVE-2024-30052-builder.sln を開き、コンパイルします。
CVE-2024-30052-builder.exe /path/to/repo/poc/poc.chm (または poc.hta、poc.py のいずれか) を実行します。これにより、同じディレクトリにダンプファイルが作成されます。
- VS 2022 でダンプファイルを開き、「マネージドでデバッグ」または「混合でデバッグ」をクリックします。
- ファイルが外部エディタで開かれることを知らせるメッセージボックスが表示されます。[OK] または [X] を押します。
- calc.exe が起動されます。
注:
- ビルダー実行可能ファイルをすぐに動作させるには、VS 2022 Community がインストールされている必要があります。代わりに、CompileSource 関数内の csc.exe へのパスを置き換えることもできます。
- 脆弱なのは VS 2022 バージョン 17.8.11 より前のものだけです。バージョン 17.8.10 をインストールするには、以下を実行します:
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" install --channelId VisualStudio.17.Release --productId Microsoft.VisualStudio.Product.Community --channelURI "https://raw.githubusercontent.com/ynwarcs/CVE-2024-30052/refs/heads/main/manifest/ChannelManifest_17.8.10.json?token=GHSAT0AAAAAACWHD36ESW2XDN5U2AOC22OYZYAHHJA"
- .py poc を動作させるには、システムに Python がインストールされている必要があります。他の2つの poc はそのまま動作するはずです。
デモ
cve-2024-30052.webm