PHPの深刻な脆弱性「PHP2Shell」が判明、Dockerが公式イメージの更新と即時対応を呼びかけ
要点
-
PHPのリクエストメモリ管理に起因する重大な脆弱性「PHP2Shell」が確認され、遠隔からのコード実行につながる危険性が判明した。
-
影響範囲はPHP 5.4以降と極めて広く、サポート中の8.2〜8.5に加えサポート終了済みの旧バージョンも含まれる。
-
アップストリームから修正版が公開されており、最新版へのアップデートが唯一の完全な対策とされる。
-
Dockerは公式イメージおよびセキュリティ強化イメージの修正版を24時間以内に公開し、速やかな適用を促している。
-
米Dockerは2026年10月22日、Web開発などで広く利用されるプログラミング言語「PHP」のコアに潜む2件の深刻な脆弱性に関するセキュリティ情報を公開した。通称「PHP2Shell」と呼ばれるこの問題は遠隔からのコード実行につながる恐れがあり、サポート終了済みの環境を含む広範なバージョンに影響が及ぶという。Dockerは自社が提供するコンテナイメージ群をすでに修正版へ更新したことを明らかにするとともに、PHPを利用するすべてのユーザーに向けて最新版への即時移行を呼びかけている。
メモリ管理の不具合により遠隔コード実行の恐れ
Dockerの発表によると、同社は2026年10月20日よりPHPパッケージに関する2件の重大な脆弱性の追跡を開始した。これらは「CVE-2026-109618」および「CVE-2026-109619」として管理され、セキュリティコミュニティでは「PHP2Shell」と総称されている。
問題の本質はPHPがリクエストを処理する際のメモリ管理機構にある。CVE-2026-109618では、処理途中でメモリ不足が発生して異常終了した際、一部の処理経路で未初期化のメモリが残り、その後のクリーンアップ処理で読み出されてしまう。一方のCVE-2026-109619では、解放済みのメモリを内部状態が指し続けたままとなり、後続のリクエストがその古い状態を参照してしまう。悪意のある第三者はこれらを突くことで、PHPの内部でリモートコード実行(外部からシステム内で不正なプログラムを実行させる攻撃手法)を引き起こすことが可能だとされ、攻撃に至る手法も複数確認されているという。
広範なバージョンが影響対象、アップデートが唯一の恒久策
今回の脆弱性の影響範囲は極めて広い。バージョン5.4以降に配布されたPHPパッケージが該当し、公式サポート期間内にあるバージョン8.2から8.5だけでなく、すでにサポート終了(セキュリティ修正などの公式サポートが終了した状態)となった5.x、7.x、8.0、8.1も含まれる。
アップストリームの開発元であるPHPは修正版として8.5.12、8.4.27、8.3.36、8.2.35をリリースした。Dockerによると、対象バージョンに対しては最新版への更新以外に包括的な緩和策は存在せず、アップデートこそが唯一の完全な防御手段だという。
即座の更新が困難な環境については、対策が可能になるまでシステムをオフライン(外部ネットワークから遮断した状態)に保つことが強く推奨されている。この指針はDockerだけでなく、米連邦捜査局(FBI)のサイバー部門や多数のセキュリティ専門家も共通して発信している。
Docker公式イメージの対応状況と利用者への案内
今回の問題はPHP本体の欠陥であり、Dockerのシステム自体の不具合ではない。しかし、Docker Hub等からPHPイメージを取得して運用しているユーザーにも潜在的なリスクが及ぶ。
これを受けDockerは公式イメージ群の更新を完了した。標準的なコンテナイメージである「Docker Official Images」は、修正版がDocker HubおよびAmazon ECRのミラーに展開済みとなっている。
また、安全性を高めた構成の「Docker Hardened Images(DHI)」も、検証テストを経て以下の通り更新版が公開された。
- PHP 8.2系統:8.2.34から8.2.35へ更新
- PHP 8.3系統:8.3.35から8.3.36へ更新
- PHP 8.4系統:8.4.26から8.4.27へ更新
- PHP 8.5系統:8.5.11から8.5.12へ更新
これらDHIの修正は、アップストリームのパッチ公開から24時間以内に提供された。Dockerはイメージ取得や移行に問題が生じた場合の問い合わせ先として、公式サポート窓口を案内している。