はじめに
セキュリティ専門の人では無いですが、興味は人一倍ある @___nix___ です。
背景
Docker Composeは、複数のコンテナ環境を管理・構築するための重要なツールで、OCI(Open Container Initiative)形式のComposeファイルをリモートから取得して使うことも一般的です。2025年10月、Docker Composeにパストラバーサル脆弱性(CVE-2025-62725)が発見され、このツールを利用する環境に重大なリスクが生じました。
概要
この脆弱性は、Docker ComposeがリモートのOCI Composeアーティファクト内に含まれるファイルパスの検証を適切に行わず、不正な相対パスをローカルのキャッシュディレクトリ外に結合してファイルの上書きを許してしまう問題です。これにより、読み取り専用コマンドの実行のみで、ホストシステム上の任意ファイルを上書きされる攻撃が成立します。
詳細
Docker Composeは複数レイヤーの注釈情報を処理する過程で、悪意ある相対パスが正当なキャッシュディレクトリパスに結合されることを防げませんでした。実質的にこれがパス・トラバーサル脆弱性を引き起こし、Docker Desktop、スタンドアロンバイナリ、CI/CD環境、クラウド開発環境など幅広い環境に影響を及ぼします。
危険性評価
CVE-2025-62725のCVSS v4ベーススコアは8.9(高リスク)に位置付けられます。攻撃はネットワーク越しに権限不要で実行可能、攻撃複雑度も低く設定されています。機密性、完全性、可用性のすべてに高い影響があるため、システム全体への深刻な影響を及ぼす可能性があります。
| 評価項目 | 内容 |
|---|---|
| ベーススコア(Base Score) | 8.9(高) |
| 攻撃ベクター(AV) | ネットワーク(Network) |
| 攻撃複雑度(AC) | 低い(Low) |
| 攻撃に必要な権限(PR) | なし(None) |
| ユーザー操作(UI) | 積極的な操作あり(Active) |
| 攻撃対象の機密性影響(VC) | 高い(High) |
| 攻撃対象の完全性影響(VI) | 高い(High) |
| 攻撃対象の可用性影響(VA) | 高い(High) |
| スコープ(SC) | 拡張(Changed) |
| 攻撃外部システムの影響(SI/SA/IR等) | 高い(High) |
具体的に何が危険か
攻撃者は悪意のあるOCI Composeアーティファクトを仕込み、Docker Composeの処理によりシステム上の任意ファイルを上書きできます。これにより、設定の改竄、重要ファイルの破損、不正コードの注入など多様な悪用が想定され、最悪の場合システムが乗っ取られるリスクがあります。
攻撃手法
- 攻撃者は注釈内に不正な相対パス(例:../../../../etc/passwd)を含む悪意あるOCI Composeアーティファクトを作成。
- 被害者がこのアーティファクトを含む設定を使い、docker compose configやdocker compose psなどの読み取り系コマンドを実行。
- Docker Composeは不正パスを検証せず、キャッシュディレクトリに結合しファイルの上書きを許可。
- 結果として任意のホストファイルを改変される。
攻撃発動条件
- Docker Composeのバージョンが2.40.2未満(脆弱性未修正)である。
- 攻撃者が悪意のあるOCI Composeファイルを配布している。
- 被害者がそのファイル入りの設定を使い、読み取り専用のDocker Composeコマンドを実行する。
- つまり、「脆弱性を含んだパッケージやリポジトリの悪意ある設定ファイルを用いてdocker-composeコマンドを実行したときに攻撃が成立する」状況です。
対応
- Docker Composeを必ず2.40.2以降にアップデートし、脆弱性を修正したバージョンを使用する。
- 公式および信頼できる配布元のOCI Composeアーティファクトのみを利用し、不明・非公式のリポジトリやパッケージからの利用は避ける。
- CI/CDパイプラインや自動化ツールへ取り込む外部ファイルは慎重に検証し、直接実行しない運用ルールを設ける。
- コンテナ環境のセキュリティベストプラクティスを強化し、最小権限運用や監視を徹底する。
終わりに
今回のCVE-2025-62725は、Docker Composeのリモート設定処理に起因する重大な脆弱性です。軽視すると広範囲に拡散し大規模な被害の恐れがあるため、早急なバージョンアップと安全な利用方法の徹底が必要です。本記事が安全なコンテナ運用の一助となれば幸いです。
一言
この記事を気に入って頂けるようでしたら @___nix___ をフォローして頂ければ幸いです。
もちろん Zenn/Qiita のフォローもお待ちしております。