PHPの重大な脆弱性2件、公式に分かっていること(10月21日23時の公開後に追記)
最初に、PHPの開発元が公式に発表している内容だけを整理します。出典はphp.netの告知「Upcoming Critical PHP Security Release」(2026年10月20日付)です(php.net 公式告知)。
| 項目 | 公式発表の内容 |
|---|---|
| 公開日時 | 2026年10月21日 14:00 UTC(日本時間 23:00) |
| 内容 | 重大な脆弱性2件の修正。いずれも CVSS v4.0 で 9.2 |
| 詳細 | 脆弱性の中身、影響を受ける版、修正版の番号は、公開と同時に発表 |
| 前倒しの可能性 | 詳細が外部に漏れた場合や悪用の証拠が見つかった場合は、予定より早く公開することがある |
| 利用者への要請 | 公開後すぐに更新できるよう、今のうちに準備を |
10月21日23時の公開後に追記:修正版の番号と影響範囲(公式発表)
予告どおり日本時間10月21日23時に修正版が公開され、あわせて公式の注意喚起が出ました(php.net 公式注意喚起「Security advisory: Critical remote code execution vulnerabilities, update now」)。公式発表の要点は次のとおりです。
| 項目 | 公式発表の内容(10月21日23時) |
|---|---|
| 修正版の番号 | 8.5.12/8.4.27/8.3.36/8.2.35 |
| 脆弱性の種類 | 2件とも、遠隔からプログラムを実行される問題(CVE-2026-109618、CVE-2026-109619) |
| 影響を受ける環境 | Webからのリクエストを処理しているPHPのすべて。PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedが名指しされ、特にmod_phpは、ログインなしのリクエスト1つでアプリケーションのコードが動く前に攻撃が成立する実証があると明記 |
| サポート終了版の扱い | 7.4・8.0・8.1向けにソースコードの修正は提供されたが、これらの版の更新版は配布されない。OSの配布元やサーバー会社が独自に適用しない限り届かない |
| 設定による緩和策 | あわせて公開されたが、公式は「部分的なもので、安全になるわけではない」と明記。対策は修正版への更新 |
共用のレンタルサーバーを使っている会社にとっての意味は2つです。1つは、自社の版がサポート中の8.2〜8.5であっても、サーバー会社が修正版を配備するまでは脆弱なままだということ。もう1つは、7.4・8.0・8.1で動いているサイトは、待っていても修正版が来ないということです。後者はサポート中の版への切替が対策になります。
CVSSは脆弱性の深刻度を0から10で表す国際的な指標で、9.0以上は最も高い「緊急」の区分です。公開前の時点では2件の識別番号(CVE番号)や問題の種類は報道ベースの情報でしたが、公開後の公式発表で上の表のとおり確定しました。
もう1つ、公式ページで確認しておくべきことがあります。PHPは版(ブランチ)ごとにサポート期間が決まっていて、セキュリティ修正はサポート中の版にだけ提供されます。2026年10月21日時点でサポート中なのは 8.2・8.3・8.4・8.5 の4系統で、7.4・8.0・8.1 はすでにサポートが終了しています(php.net Supported Versions)。つまり、自社のサイトが7.4などの古い版で動いている場合、今回の修正版を待っても自社には届きません。サポート中の版へ切り替えることが、そのまま対策になります。
なお、公開前の時点でセキュリティ企業から「悪用の報告を受けた」という公表も出ていました。公式の注意喚起は、実際の被害の有無には触れていませんが、攻撃が成立する実証があることを明記しています。様子見をせずに適用する前提で動いてください。
自社のホームページが対象かどうかを確かめる方法
「PHP」という言葉に馴染みがなくても、自社サイトが対象かどうかは次の表でおおよそ判断できます。確認は、ホームページの管理を担当している人(総務や広報の担当者、または制作会社)が行います。
| サイトの種類 | 対象か | 確認する場所 |
|---|---|---|
| WordPressで作ったサイト | 対象。WordPressはPHPで動く | 管理画面の「ツール」>「サイトヘルス」>「情報」>「サーバー」にPHPの版が表示される |
| レンタルサーバーに置いた自社サイト(フォームや予約機能あり) | 対象の可能性が高い。フォームの送信処理にPHPが使われていることが多い | レンタルサーバーの管理画面にあるPHP設定の項目 |
| HTMLだけの静的なサイト(フォームなし) | 通常は対象外。ただしサーバー側でPHPが有効なら念のため版を確認 | レンタルサーバーの管理画面 |
| ホームページ作成サービス(月額制で画面上で編集するもの) | 利用者側の作業は通常不要。サービス提供元が対応する | 提供元のお知らせページ |
| 制作会社に運用を任せているサイト | サイトの作りによる | 制作会社に「PHPの版はいくつか、今回の修正版をいつ適用するか」を確認 |
WordPressの場合は管理画面で1分
WordPressの管理画面には「サイトヘルス」という診断画面があり、「ツール」>「サイトヘルス」>「情報」タブの「サーバー」の項目にPHPのバージョンが表示されます(WordPress公式ドキュメント Site Health screen)。ここで「8.2」「8.3」「8.4」「8.5」のいずれかで始まっていればサポート中の版です。「7.4」「8.0」「8.1」で始まっていれば、サポートが終わった版で動いています。
レンタルサーバーの場合は管理画面のPHP設定
国内の主要なレンタルサーバーには、管理画面にPHPの版をドメインごとに選ぶ項目があります。名称や場所はサーバー会社によって違うため、各社のマニュアルで「PHPバージョン」の項目を探してください。弊社が10月21日に実際に操作したあるレンタルサーバーでは、管理画面の高度な設定の中にPHPの項目があり、ドメインごとに版を選ぶ画面でした。表示は変わることがあるので、確認時点の公式マニュアルを優先してください。
管理画面に入れない、ログイン情報が分からない、という場合は、アカウントと名義を自社で持つ方法で書いたとおり、制作会社や前任者から情報を引き継ぐことから始まります。今回のような緊急の対応で初めて「誰も入れない」と分かる会社は珍しくありません。
今夜から明日にかけてやることの順番
やることは、自社の版が「サポート終了版」か「サポート中の版」かで分かれます。順番に書きます。
1. 版を確認して記録する(担当者・10分)
上の表の方法で、自社が持っているサイトすべてのPHPの版を確認し、サイト名・版・確認日を1枚のメモに残します。本サイトのほかに、採用サイト、キャンペーン用のページ、古いサイトが別のサーバーに残っていないかも見てください。何年も放置したホームページの実例で書いたとおり、忘れられたサイトがいちばん危険です。
2. サポート終了版(7.4・8.0・8.1)なら、今すぐ切り替える(担当者・30分)
修正版を待つ意味がないので、公開を待たずに切替を進めます。手順は次のとおりです。
- 1. バックアップを取る。レンタルサーバーのバックアップ機能、またはWordPressのバックアップ用プラグインで、ファイルとデータベースの両方を保存します。バックアップの3-2-1ルールも参考にしてください
- 2. 管理画面で版を 8.4 に変更する。選べる中でいちばん新しい安定版が目安です。8.5 が選べる場合もありますが、使っているプラグインやテーマが対応しているかは個別に確認が必要です
- 3. 反映を待って動作を確認する。弊社が操作したサーバーでは数分で反映されました。トップページ、問い合わせフォームの送信、ログインの3つを最低限確認します
- 4. 表示が崩れる、エラーが出る場合は、プラグインやテーマが古い版に依存している可能性があります。その場合は版を戻すのではなく、該当のプラグイン・テーマの更新または差し替えを検討します。戻すと脆弱性が残ったままになります
注意点が1つあります。管理画面を使わずに設定ファイルの記述で版を切り替える方法が検索すると出てきますが、サーバーによってはその記述が解釈されず、意図しない状態になることがあります。弊社が確認したサーバーでも、設定ファイルでの切替は効きませんでした。版の切替は管理画面の正規の機能で行ってください。
3. サポート中の版(8.2〜8.5)なら、修正版の適用を確認する(担当者・5分×2回)
共用のレンタルサーバーでは、PHP本体の更新はサーバー会社が行います。利用者ができるのは、修正版が公開されたあとにサーバー会社のお知らせを確認し、自社の版が修正版に上がったかを見ることです。公開直後にすぐ反映されるとは限らないので、23時以降に1回、翌朝に1回、同じ場所で版を確認してください。自社で管理しているサーバー(VPSや専用サーバー)の場合は、修正版の公開後に自分で更新する必要があります。
4. 修正版の公開後に、公式の詳細を読む(担当者・10分)
公開と同時に、影響を受ける環境と修正版の番号が公式に発表されました(第1節の追記を参照)。修正版の番号は 8.5.12/8.4.27/8.3.36/8.2.35 です。自社の版がこの番号に上がっているかを確認します。この確認を記録に残しておくと、後から「いつ対応したか」を説明できます。
5. ついでに、WordPressのプラグインとテーマも更新する(担当者・15分)
PHP本体の更新とあわせて、WordPress本体・プラグイン・テーマの更新も済ませてください。更新の進め方と注意点は最新版への更新で起きる落とし穴にまとめています。
弊社が10月21日に行った対応(実例)
弊社は毎朝、IPAとJPCERT/CCが公開する脆弱性情報を自動で収集し、自社と保守先に関係するものを拾う運用をしています。今回の予告もその流れで把握し、当日の午前中に次の対応を行いました。参考として、やったことをそのまま書きます。
- 棚卸し:弊社が公開しているサイトを一覧にし、それぞれの土台(レンタルサーバーか、PHPを使わない構成か)を確認しました。PHPを使わない構成のサイトは対象外として切り分けました
- 版の実測:PHPが動いているサイトについて、実際に動いている版を確認しました。その結果、弊社の法人サイトのお問い合わせフォームの処理が、サポート終了版の 7.4 で動いていたことが分かりました。サイトは問題なく動いていたため、誰も気づいていませんでした
- 切替:レンタルサーバーの管理画面で 8.4 に切り替えました。反映は数分でした。切替前に、フォームの処理プログラムが新しい版で使えなくなった機能を使っていないかを確認してありました
- 動作確認:フォームの送信、申込処理、決済通知の受け口の5本について、切替後に正常に応答することを確認しました
- 別サーバーの確認:別のレンタルサーバーで動くWordPressのサイトは 8.4 系の最新版で動いていたため、修正版の公開後にサーバー会社の配備を待って再確認する手順にしました。23時30分に再確認したところ、こちらはすでに 8.4.27 に更新されていました。一方、朝に 8.4 へ切り替えた法人サイトのサーバーは同時刻でまだ更新前の 8.4 系で、翌朝に再確認します。同じ「8.4系」でも、サーバー会社によって配備の早さが違います
- 保守先への案内:弊社が関わっている他社のサイトを外部から確認し、サポート終了版で動いているところには、切替をお勧めする案内を用意しました
この日いちばんの発見は、自社のサイトが古い版で動いていたことに、点検するまで気づかなかったという事実です。毎朝の情報収集をしている弊社でも、こうなります。サイトが動いている限り、PHPの版は誰の目にも入りません。Webアプリの点検で見つかった3つの穴で書いた「中を見る人がいない期間」の問題は、自社にもあったということです。
今回で終わりにしないための続け方
PHPの版の問題は、今回の脆弱性に限りません。サポートの期限は版ごとに決まっていて、期限が来ると修正が出なくなります。2026年10月時点の期限は次のとおりです(php.net Unsupported Branches および Supported Versions より)。
| 版 | 状態 | セキュリティ修正の終了 |
|---|---|---|
| 7.4 | サポート終了 | 2022年11月 |
| 8.0 | サポート終了 | 2023年11月 |
| 8.1 | サポート終了 | 2025年12月 |
| 8.2 | セキュリティ修正のみ | 2026年12月31日 |
| 8.3 | セキュリティ修正のみ | 2027年12月31日 |
| 8.4 | サポート中 | 2028年12月31日 |
| 8.5 | サポート中 | 2029年12月31日 |
8.2 を使っている会社は、あと2か月ほどで同じ状況になります。今回の対応が落ち着いたら、年内に 8.3 以降への切替を予定に入れてください。
続け方は3つです。記録する(サイトごとのPHPの版と確認日を、先ほどのメモに残し続ける)、月1回見る(月次の点検日に、サイトヘルスか管理画面で版を確認する。5分で済みます)、情報を受け取る(サーバー会社のお知らせメールを担当者が受け取る設定にする。IPAやJPCERT/CCの注意喚起の見方は、この連載で後日取り上げます)。
何から手を付けるか迷う場合は、連載のセキュリティ対策は何から始めるかと、情報セキュリティ10大脅威を中小企業向けに読み替えた記事から読み進めてください。
本記事の内容は、2026年10月21日20時に公表されていた資料をもとに編集部が整理し、同日23時の修正版公開を受けて23時30分に第1節へ公式発表の内容を追記したものです。最新の情報はphp.netの公式発表でご確認ください。
自社のホームページが「どの版で動いているか」を、まず点検する
PHPの版を自社で確認できない、制作会社に何を聞けばよいか分からない、という場合は外部の点検が近道です。セキュリティ診断は5,000円(税抜)の固定料金で、サイトのURLだけで始められます。点検後の更新・バックアップ・監視は、月額9,800円(税抜)からの保守で引き受けます。
セキュリティ診断の内容を見る →よくある質問
Q. ホームページは制作会社に任せきりです。何を聞けばよいですか?
聞くことは3つです。「自社サイトのPHPのバージョンはいくつか」「サポート終了版なら、いつサポート中の版に切り替えるか」「修正版が出たあと、いつ適用を確認するか」。回答を日付つきでメールに残してください。制作会社との契約に保守が含まれていない場合、この対応は別料金になることがあります。その場合も、まず版の確認だけは依頼してください。
Q. 月額制のホームページ作成サービスを使っています。何かする必要はありますか?
画面上で編集するタイプのサービスでは、サーバーの管理はサービス提供元が行うため、利用者側でPHPを更新する作業は通常ありません。ただし、提供元のお知らせページで今回の対応に関する告知が出ていないかは確認してください。また、そのサービスとは別に、独自ドメインで別のサイトやフォームをレンタルサーバーに置いている場合は、そちらは自社で確認が必要です。
Q. PHPの版を上げたら表示が崩れました。元に戻してよいですか?
戻すと脆弱性が残ったままになるため、お勧めしません。表示が崩れる原因の多くは、古いプラグインやテーマが新しい版に対応していないことです。該当するプラグインやテーマを更新するか、同じ機能の別のものに差し替えてください。原因の切り分けが難しい場合は、切替前のバックアップを保管したうえで、外部に点検を依頼する方法があります。なお、サーバーによっては一度切り替えるとサポート終了版を再び選べない仕組みになっていることもあります。
Q. 修正版が公開されたあと、自社に適用されたかはどう確認しますか?
WordPressなら「ツール」>「サイトヘルス」>「情報」>「サーバー」、レンタルサーバーなら管理画面のPHP設定で、表示される版の番号を見ます。php.netが発表した修正版の番号(8.4系なら8.4.27、8.3系なら8.3.36、8.2系なら8.2.35、8.5系なら8.5.12)になっていれば適用済みです。共用サーバーでは反映に時間がかかることがあるため、公開当日と翌朝の2回確認し、翌朝も変わっていなければサーバー会社のお知らせを確認してください。
