【要確認】自社サイトも他人事ではない PHP5.4以降に遠隔コード実行につながる脆弱性

世界中のWebサイトを支えるPHPにシステム乗っ取りの脆弱性が判明
PHPの開発チームは日本時間の10月21日23時、PHP本体に見つかった深刻な脆弱性2件「CVE-2026-109618」および「CVE-2026-109619」を修正したバージョンを公開しました。どちらも深刻度(CVSS v4.0)は9.2と高く、悪用されると、ログインなしで外部からサーバー上のプログラムを実行される(リモートコード実行)恐れがあります。PHPは WordPress をはじめ多くのWebサイトの裏側で使われている言語で、今回の問題は通称「PHP2Shell」と呼ばれ世界中で大きな話題になりました。
なぜ世界中で大きな話題になったのか
世界のWebサイトの約7割を支えるPHP本体に脆弱性が判明
今回の脆弱性が大きく取り上げられた一番の理由は、WordPress のような特定の製品ではなく、PHPそのものに問題があった点です。脆弱性を発見したセキュリティ企業 Wiz の記事「PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet」によると、PHPは世界のWebサイトの約7割で使われています。WordPress や Drupal、Joomla、Wikipedia を動かす MediaWiki などもPHP上で動いています。そのため、PHP本体に脆弱性が存在する場合、その基盤上で稼働するWebサイト全体に影響が及ぶことになります。
10年分のバージョンと、全ての実行方式が対象
上記の Wiz の記事によると、過去10年に出たPHPのバージョンは全て、今回判明した脆弱性の2件のうち少なくともどちらかの影響を受けており、PHP5.4まで遡ります。PHP公式「Security advisory: Critical remote code execution vulnerabilities, update now」でも、WebサーバーでPHPをどう動かしているか(PHP-FPM や Apache の mod_php など)に関わらず、Webからのアクセスを処理しているPHPは全て対象になると説明しています。中でも「mod_php※」は、PHP公式が最もリスクが高いと評価しており、ログインしていない状態のリクエストでも、アプリケーションのコードが実行される前に攻撃を引き起こせることが実証されています。
※ mod_php は、PHPを Apache の中に直接組み込み、Apache と一体で動かす方式です。
脆弱性情報の漏えいを受けて修正を前倒し、攻撃の試みも報告
修正版が公開されたからといって、すぐに安心できる状況ではありません。セキュリティ企業の watchTowr によると、今回の脆弱性情報は正式リリース前の10月20日にネット上に流出し、当初10月22日に予定されていた情報公開が1日前倒しされたとのことです。さらに同社は、修正版の公開直後となる日本時間10月21日23時19分の記事「PHP2Shell: PHP Remote Code Execution Exploited」において、2件の脆弱性の両方を狙った攻撃の試みをすでに観測していると警告しています。
AIが見つけた10年以上前からの不具合
また、今回の脆弱性がAIを活用して見つかったことも注目を集めた要因の一つです。Wiz の記事では、問題のあるコードは10年以上前からPHPに存在していましたが、実質的な攻撃と結びつけるには、複数の不具合を組み合わせる極めて複雑なプロセスが必要だったとのことです。しかし同社は、最新のAIモデルを使うことでその手間が大きく減り、これまでなら一流のチームでも数ヶ月かかるような作業を、研究者1人が1週間ほどで終えられたと説明しています。
悪用されるとどうなるのか
原因は、エラーで処理を中断した際の後始末
2件の脆弱性はどちらも、PHPがエラーで処理を途中で止めたときの後始末に問題があります。PHP公式によると、CVE-2026-109618は、メモリ不足で処理が中断されると作りかけのデータが残り、後始末の際にそれを正しいデータとして扱ってしまうというものです。一方CVE-2026-109619は、前のリクエストで使った情報が、メモリを手放した後も残ってしまい、同じワーカー(リクエストを処理する担当)が次のリクエストを処理するときに、リセットされる前の古い情報を使ってしまうというものです。

ログインなしでサーバーを乗っ取られる
Wiz によると、これらの脆弱性が悪用されると、攻撃者はログインせずにサーバー上で任意のコードを実行できる恐れがあります。実際に同社は、検証時点で最新だった WordPress、Drupal、Joomla の各環境において、未認証状態からの遠隔コード実行に成功したと報告しています。サーバーを奪われると、Webサイトの改ざんや機密データの持ち出しにもつながりかねません。
また完全な乗っ取り(コード実行)に至らないケースであっても、PHPが処理中に保持しているメモリの中身を外部から読み取られる恐れもあります。このメモリには、他の利用者のアクセスやサーバー自体に関わるパスワード、認証用のトークン、APIキー、証明書なども含まれることがあり、これらが攻撃者の手に渡ることで広範囲な情報流出へ発展する可能性があります。
まとめ~修正版への更新を~
- 自社のWebサイトやシステムで動いているPHPのバージョンを確認し、修正版にアップデートしましょう。
今回公式から発表された修正版は、PHP 8.2.35/PHP 8.3.36 /PHP 8.4.27 /PHP 8.5.12 です。
- すぐに更新できない場合は、PHP公式が示す設定変更で一部の攻撃経路を減らせますが、それだけでは安全にならないため、速やかに修正版へ更新しましょう。
- PHP 8.1 以前はサポートが終了し、8.2 も2026年末に終了するため、修正状況を確認し、サポート中のバージョンへの移行を進めましょう。
※ 本記事は2026年10月22日時点の情報を基にしています。
執筆者

