Docker「CopyEscape」(CVE-2026-17106)、悪意あるコンテナがホストのファイルを上書き可能に

Dockerの深刻な脆弱性「CVE-2026-17106」(通称CopyEscape)により、ユーザーが `docker cp` コマンドを実行した際、悪意あるコンテナがホストマシン上のファイルを上書きできるおそれがあります。

Hacking& Cracking

この脆弱性が影響するのは、Dockerがコンテナからデータを取り出し、Docker コマンドラインインターフェース(CLI)を実行しているシステム上に展開するコピーアウト操作です。

Docker CopyEscapeの欠陥

ImpervaのレッドチームがDockerのアーカイブ処理経路で問題を特定しました。`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ファイルシステム上のファイルがさらに危険にさらされます。

Linuxで `docker cp` が昇格した権限で呼び出された場合、影響はいっそう深刻になります。Impervaの概念実証(PoC)では、`/usr/bin/runc` を攻撃者の制御するスクリプトに置き換えられることが示されました。

その後Dockerの操作が行われると、改ざんされたバイナリが実行されます。任意のホストファイル上書きが、root権限でのコード実行に発展するわけです。

ここで注意すべきは、コンテナがDockerデーモンから自動的にroot権限を得るわけではない点です。コンテナは、ホスト側のコピー処理にすでに与えられている権限を悪用します。

この欠陥はDocker Sandboxesにも影響します。Dockerは、隔離されたサンドボックス環境からファイルを取り出す `sbx cp` コマンドも、同じ出力先エスケープの条件に対して脆弱であることを確認しました。

このため、信頼できない、あるいは侵害されたサンドボックスセッションから成果物を取り出すAIエージェントやコーディングのワークフローでは、リスクが高まります。

リスクを軽減するには、DockerユーザーはDocker Engineを更新し、EngineとCLIをバージョン29.7.2以降、Docker Desktopをバージョン4.86.0以降、Docker Sandboxesをバージョン0.38.0以降にアップグレードしてください。

パッチを適用するまでの間、組織は次の対策を取るべきです。稼働中の信頼できないコンテナからのデータコピーを避ける。ファイルを取り出す前にコンテナを停止する。`docker cp` を使うワークフローをrootで実行しない。侵害の疑いがあるコンテナから証拠や成果物を収集する際は、隔離された環境を使う。

SOCのアラート調査を1件あたり21分短縮。即座に得られるIOCのコンテキストでSOCを強化し、迅速な対応を実現: SOCにTI Lookupを導入

翻訳元: https://gbhackers.com/docker-copyescape-cve-2026-17106/

本記事は gbhackers.com の記事を翻訳・要約したものです。