
Dockerは、従来あった他の仮想化技術より軽快に動作する、コンテナ型仮想環境用のプラットフォームです。
アプリケーションとその依存関係をコンテナと呼ばれるパッケージにまとめて、どこでも同じように実行できるようにする技術です。
OSのカーネルを環境側と共有するため、コンテナは軽量で、仮想マシンよりもリソース効率が良いのが特徴です。
Dockerを使うことで、開発、テスト、デプロイのプロセスを効率化し、環境の違いによる問題を減らすことができます。
こういったこともあり、開発以外でもさまざまな場面でDockerが利用されています。
そんなDockerに脆弱性が確認されています。
- CVE-2025-9074
Docker Desktop上で実行されている悪意のあるコンテナが、Dockerソケットをマウントすることなく Docker Engineにアクセスし、追加のコンテナを起動できる可能性があります。
これにより、ホストシステム上のユーザファイルへの不正アクセスが発生する可能性があります。
Enhanced Container Isolation(ECI)という安全機構がDockerには実装されていますが、この安全機構では、この脆弱性は軽減されません。
DockerはさまざまなホストOS環境で動作します。
Linux、Windows、macOSなどです。
今回の脆弱性はこのホストOS環境によって影響度が異なります。
一番影響が少ないのはLinux版です。
Linux環境でDockerが利用する機構の選択の関係で、Linux上でのDockerは標準設定においてこの脆弱性は発現しません。
つぎはmacOS版です。
Dockerコンテナとホストシステムの間の分割レイヤーが機能した状態で利用でき、コンテナがユーザディレクトリをマウントしようとするとユーザに許可を求められます。
しかしDocker Engineへのアクセスはできてしまう状態にはなってしまい、攻撃者はDockerアプリケーション/コンテナを完全に制御でき、アプリケーションのマウントと構成の変更によってバックドアを仕掛けることさえ可能です。
この脆弱性を悪用した場合、Dockerアプリケーション/コンテナを完全に制御を実施するにおいて、ユーザの承認を必要としません。
そして最も危険な状態となるのがWindows版です。
DockerエンジンはWSL2経由で実行されるため、攻撃者は管理者としてファイルシステム全体をマウントし、機密ファイルを読み取り、最終的にシステムDLLを上書きして、攻撃者をホストシステムの管理者に昇格させることができます。
Dockerはコンテナ技術でホスト環境とコンテナ環境を分離できる技術が目指されたものなのですが、この脆弱性がある状態において、まったく分離できた効能がない状態となってしまいます。
この脆弱性が危険なのは効能だけではありません。
実に簡単に悪用が可能となるのです。
Pythonというスクリプト言語でたったの3行のシンプルな記述を実施するだけで、この脆弱性が利用できてしまいます。
この3行の記述だけで前述のすべての危険な状態を実現できるわけではありませんが、サーバサイドリクエストフォージェリ(SSRF)をあわせて悪用するなどによって危険な状態に仕上がってしまいます。
安全なはずのコンテナ環境であるDockerですが、Dockerもsoftwareです。
脆弱性は日々発見されていきます。
しかし安心してください。
この脆弱性に対する対策はすでにversion4.44.3としてリリースされています。
利用者はただその対策されたバージョンを利用するように環境を更新するのみで対策することができます。
安全の前提として、日々の適切なパッチケイデンスの維持が必要です。
Breaking Docker’s Isolation Using… Docker? (CVE-2025-9074)
https://pvotal.tech/breaking-dockers-isolation-using-docker-cve-2025-9074/
この記事をシェア |
---|