Docker CopyEscape CVE-2026-17106 Lets Malicious Containers Overwrite Host Files
2026/09/30 gbhackers — Docker に存在する重大な脆弱性 CVE-2026-17106 (CopyEscape) を悪用するユーザーは、docker cp コマンドを実行する際に、ホストマシン上のファイルを攻撃者が制御するコンテナを介して上書きする可能性がある。この脆弱性は、Docker がコンテナからデータを取得し、Docker コマンドライン・インターフェース (CLI) を実行しているシステム上へ展開する、コピー・アウト処理に影響を及ぼす。

Docker CopyEscape の脆弱性
Docker のアーカイブ処理経路にこの問題が存在することを発見したのは、Imperva の Red Team である。docker cp は単純なファイル転送ユーティリティに見えるが、コンテナからホストへのコピーは複数の段階を経て実行され、要求されたコンテナ内のデータを Docker デーモンが tar アーカイブとしてまとめる。その後に、Docker CLI が対象となるアーカイブをローカル環境へ展開するため、コピー元のコンテナを制御する攻撃者は、ローカルの Docker ユーザーが処理するアーカイブの内容に影響を与えることができる。
CopyEscape は、この処理に存在する 2 つの問題を悪用する。1 つ目は、稼働中の悪意のコンテナにより、Docker によるファイル・システムの走査/アーカイブの作成中に競合状態が発生するものである。
Docker が対象のパスをディレクトリとして認識して、その内部を走査する一方で、Docker がメタデータを記録する前に攻撃者が対象ディレクトリをシンボリックリンクに置き換える可能性がある。その結果、アーカイブ内で同じパスがシンボリックリンクであると同時に、配下に子ファイルを持つディレクトリとして記述される可能性が生じる。
2 つ目の問題は、アーカイブの展開時に発生する。Docker CLI は、ユーザーが指定した展開先の内部に、すべてのファイル・システム操作を正確に制限していないため、細工されたシンボリックリンクのエントリを介して、指定された出力ディレクトリの外部が参照されてしまう。その結果、後に続く子ファイルのエントリを、対象リンク経由で書き込ませることが可能になる。最終的に、安全なパスへのファイルのコピーを意図したコマンドにより、ホスト上の別の場所でデータの作成/上書きが生じる可能性がある。
この脆弱性による影響は、docker cp コマンドを実行するユーザーまたはプロセスの権限に依存する。たとえば、攻撃者が制御するコンテナからファイルをコピーした開発者は、シェルの起動ファイル/SSH 設定/クラウド設定/ソースコード/ローカル・バイナリ/ユーザー・レベルの永続化機構など、重要なファイルを上書きしてしまう可能性がある。
macOS では、Docker CLI が Docker Desktop の Linux 仮想マシン内ではなく macOS ホスト上でアーカイブを展開するため、ユーザーの macOS ファイル・システム内にあるファイルが直接影響を受ける可能性がある。
Linux において、docker cp を昇格した権限で実行した場合には、さらに影響が深刻化する。Imperva の概念実証では、”/usr/bin/runc” が攻撃者が制御するスクリプトに置き換えられることが実証されている。その後に Docker の操作を実行すると、改変されたバイナリが実行され、ホスト上の任意のファイルを上書きできる状態から、root 権限でのコード実行へ発展する。
重要なのは、コンテナが Docker デーモンから自動的に root 権限を取得するわけではなく、ホスト側のコピー処理にすでに付与されている権限が、攻撃者に悪用される点である。
この脆弱性は、Docker Sandboxes にも影響する。隔離されたサンドボックス環境からファイルを転送する sbx cp コマンドについても、同じく指定された展開先の外部を参照できる問題が生じることを、Docker は確認している。これにより、ユーザーが信頼できない AI エージェントや、侵害されたサンドボックス・セッションから成果物を取得する AI エージェント、コーディング・ワークフローなどにおいてリスクが生じる。
これらのリスクを軽減するために、Docker ユーザーに推奨されるのは、Docker Engine/CLI 29.7.2 以降/Docker Desktop 4.86.0 以降/Docker Sandboxes 0.38.0 以降へのアップグレードである。
これらのパッチを適用するまでの間、ユーザー組織に推奨されるのは、稼働中の信頼できないコンテナからのデータコピーを避けること、ファイルを取得する前にコンテナを停止すること、root 権限での docker cp 実行を避けることに加え、侵害が疑われるコンテナから証拠や成果物を収集する際に隔離環境を使用することである。
Docker のアーカイブ処理経路において、検証不足や競合状態を引き起こす脆弱性 CVE-2026-17106 (CopyEscape) が報告されました。攻撃者により制御されたコンテナからのデータ取得時に指定先の外部を参照させられるため、実行ユーザーの権限範囲内でホスト上の重要ファイルの改変/昇格権限実行時における root 権限での不正コード実行/隔離環境からの転送処理時における不正書き込みといった危険性が生じます。最新版の Docker Engine/CLI/Docker Desktop/Docker Sandboxes への更新/信頼不能なコンテナ停止後のデータ取得/昇格権限でのデータ取得回避などの運用変更が求められます。
You must be logged in to post a comment.