PHPの重大な脆弱性とは? 2026年の2件を図解し、WordPress利用者の確認手順を整理

赤い攻撃通信がサーバーへ押し寄せ、青い防御層に衝突するイメージ サイバーセキュリティ

「PHPに重大な脆弱性」。そんな見出しを見ても、PHPが何をしているのか、自分のブログに関係するのか、すぐには分からないと思います。今回は2026年10月21日にPHP公式が公表した2件を例に、技術的な問題とサイト運営者が取る行動をつなげます。

先に結論:PHP公式はCVE-2026-109618とCVE-2026-109619を修正した版を公開し、更新を強く勧めています。まずWebサイトが実際に使うPHPの版と誰が更新を管理するかを調べ、ホスティング会社または管理者の手順で修正版を適用・確認します。WordPress本体やプラグインの更新だけでは、PHP本体の更新を確認したことにはなりません。

PHPとは? どこで動いている?

PHPは、WordPressなどのサイトで、アクセスされたページの内容を組み立てるために使われる言語・実行環境です。画面の裏側で動くため、ブラウザだけを見ても版は分かりません。以前の記事「AIを使う人のサイバーセキュリティ入門」では、閲覧者からWebサーバー、PHPへ処理が進む全体像を紹介しました。

図1|今回、確認すべき場所
閲覧者ページを開く。PHPの版はここからは見えない。
Webサーバーリクエストを受け、PHPに処理を渡す構成がある。
PHPWordPressなどの処理を実行。今回の修正対象。

一般的な構成を簡略化した図です。WebサーバーとPHPの接続方法は環境ごとに違います。

何が起きた? 2件の違いを図で見る

どちらもPHP内部のメモリ管理に関わります。メモリは、処理中の情報を一時的に置く作業机のようなもの。PHP公式は、条件がそろうとログインしていない相手による遠隔コード実行につながり得るとして、2件を重大な脆弱性として公表しました。PHP公式発表

CVE-2026-109618:途中で止まった処理メモリ不足で処理が中断された時、準備途中のデータが不正な状態のまま残り、後片付けがそれを使ってしまう問題です。特にApacheのmod_php構成では、アプリのコードが動く前に成立する攻撃が実証されています。
CVE-2026-109619:前の処理の置き土産前のリクエストで使ったメモリを解放した後も、それを指す情報が残り、同じワーカーが扱う後のリクエストで参照され得る問題です。成立には古い情報を残す処理と、それを後で使う処理の組み合わせが必要です。
図2|メモリ管理の問題をイメージする
正常な流れ準備する → 使う → 片付ける。次の処理に古い参照を持ち越さない。
109618準備途中にメモリ不足 → 中断 → 後片付けが不正なデータを扱う。
109619前の処理の参照が残る → メモリを解放 → 後の処理が古い参照を使う。

仕組みを理解するための簡略図です。攻撃手順や全ての成立条件を示すものではありません。

なぜこのような問題が起きたのか。PHPの内部では、例外的な中断時にも状態を安全に片付け、次のリクエストへ持ち越さない必要があります。今回はその境目が十分に守られず、不正な状態や古い参照を後の処理が扱える経路が残っていました。詳細は開発元の109618の説明と109619の説明にあります。

ただし、PHPを使っているサイトが全て同じ条件で攻撃されるという意味ではありません。PHP公式はWebリクエストを処理する構成全般に更新を勧めつつ、実証された攻撃ではmod_phpの危険性が特に高いとしています。FPMなどは成立経路や実証状況が異なります。設定だけで「影響なし」と自己判断せず、版と提供元の情報を確認します。

どの版へ更新する?

2026年10月25日時点で、PHP公式が両件の修正版として示すのは次の版です。自分の系統の数字と比較してください。

PHP 8.58.5.12以降
PHP 8.48.4.27以降
PHP 8.38.3.36以降
PHP 8.28.2.35以降

たとえば8.4.26なら同じ8.4系の8.4.27以上が目安です。PHP 8.1以前にはPHPプロジェクトから通常の修正版は出ません。Linuxディストリビューションや長期サポート事業者が修正を移植している場合があるので、表示される版番号だけで決めず提供元へ確認してください。PHP公式発表

補足:2026年10月23日、PHP公式は別の成立条件に関する追加案内を公開し、次の定期修正まで session.upload_progress.enabled=0 を推奨しました。特殊な設定とアプリの組み合わせが必要な経路です。自分でサーバー設定を変更できない場合は、この案内も含めて提供元に対応状況を聞いてください。PHP公式・追加案内

WordPress利用者が今日できる4つの確認

  1. Web側のPHP版を見る。WordPress管理画面の「ツール → サイトヘルス → 情報 → サーバー」にPHPの版などが表示されます。管理画面に入れなければホスティング会社の管理画面やサポートで確認します。WordPress公式手順
  2. 更新担当を確かめる。共用サーバー・マネージドホスティングなら提供元、自分で運用するサーバーなら管理者が担当することがあります。「どのPHP系統で、2件の修正が適用済みか」を確認します。
  3. 更新と動作確認をセットで行う。提供元の案内に従って修正版を適用し、サイトヘルス等でWeb側の版を再確認します。表示、ログイン、フォーム、アップロードなど主要機能も確認します。互換性の確認やバックアップが必要なら、提供元の手順に従います。
  4. 更新できない理由を放置しない。古いプラグインなどが障害なら、対応版と移行計画を管理者・提供元に相談します。PHP公式の一時的な設定変更は特定の攻撃経路を狭めるだけで、更新の代わりにはなりません。

提供元への問い合わせ例:「当サイトのWebリクエストで使用中のPHP版と、CVE-2026-109618/109619の修正適用状況を教えてください。PHP公式の10月23日の追加案内についても、必要な対応と予定を確認したいです。」

AIに何を頼み、何を自分で確認する?

私もAIを使って情報を整理します。ただ、AIがサイトのサーバーに接続していなければ、稼働中のPHP版や更新済みかどうかは分かりません。一般論をそのまま「うちのサイトは安全」に変換しないことが大切です。

AIに頼む公式勧告の難語を説明してもらう。修正版と確認項目を整理する。提供元への質問文を作る。
人が確認する公式勧告の原文、管理画面に表示された版、提供元の対応状況、更新後の実際の動作を確かめる。
このPHP公式勧告を初心者向けに整理してください。①対象のCVE ②修正版 ③環境によって異なる成立条件 ④サイト運営者が提供元に確認する項目を分けてください。勧告にないことは「不明」とし、私のサイトが影響を受けるかは断定しないでください。URL: https://www.php.net/archive/2026.php#2026-10-21-5

設定ファイルや管理画面のスクリーンショットをAIに渡す前には、パスワード、トークン、接続情報、個人情報が写っていないか確認しましょう。公開資料のURLだけでも、最初の整理はできます。

これから何が変わる?

今回の件が示すのは、アプリのコードだけでなく、その下で動く実行環境の更新もサイト運営の一部だということです。AIは勧告を読む時間を短くできますが、更新の責任者、適用された版、動作結果は人と提供元が確認する必要があります。これは今回の公式資料から私が考えた運用上の教訓です。

次はApache HTTP Server側の脆弱性を取り上げ、PHPとWebサーバーで「確認する場所」がどう違うかを図解します。

※この記事は2026年10月25日時点の公開資料に基づく一般向け解説です。個別サイトの侵害有無を判定するものではありません。

出典

コメント

タイトルとURLをコピーしました