CVE-2024-3094
CVE-2024-3094 演習環境の構築と報告
CVE-2024-3094 演習
XZ Utils 5.6.0及び5.6.1に挿入されたバックドアを演習環境で再現し、SSH認証フッキングの有無および危険性を分析しました。
環境
- Host OS : - Windows 11
- Docker : Docker Desktop 28.0.1
- Dockerfile Base Image : debian:experimental-20240311
- liblzama5 version : 5.6.0
- SSH Port : 2222 (root / pw : whs)
Dockerfile

docker-compose.yaml

演習手順
-
Dockerfile + docker-compose.yaml の作成
-
コンテナのビルドと実行
docker compose up --build -d

-
SSH接続によるシステムアクセス
ssh root@localhost -p 2222
#password : whs

-
dpkgでlibzma5のバージョンが5.6.0であることを確認
dpkg -l | grep libzlma

-
sshdがliblzma.soを使用しているか確認
ldd /usr/sbin/sshd | grep lzma

- 出力なし -> この演習環境ではsshdバイナリがliblzma.soと動的リンクされていないようですが、liblzma5の脆弱なバージョンがインストールされていることは確認できました。また、PoC実行の可能性も確認できました。
-
PoCスクリプトの作成
file name : poc_detect_backdoor.sh

-
実行結果
chmod +x poc_detect_backdoor.sh
./poc_detect_backdoor.sh

この結果により、コンテナ内でPoCスクリプトが正常に実行されることを確認でき、Dockerfileとdocker-compose.yamlのみで演習環境が正常に構築されたことを立証できました。
結論
- XZバックドアが含まれた脆弱バージョンを基にDocker環境を構成し、sshdがそのライブラリを参照しているか確認後、簡単なPoC実行で動作検証まで行いました。
- Dockerfileとdocker-compose.yamlのみで再現可能であることを確認しました。
- 本脆弱性を対策する方法は、脆弱なXZバージョンを削除するか、パッチが適用されたバージョンにアップグレードすることです。