2026年10月21日、PHP 公式が「すぐに更新してください」とするセキュリティ更新を公開しました。WordPress など、PHP で動いているサイトはすべて関係があります。何が起きているか、どのバージョンなら安全か、何をすればよいかを、公式の発表をもとにまとめました。
まず結論
- PHP を、修正版(8.5.12・8.4.27・8.3.36・8.2.35 のどれか)以上に更新してください。これが唯一の確実な対策です。
- PHP 8.1 以前は、PHP 公式の修正版が出ません。8.2 以上(できれば 8.3 以上)への切り替えが必要です。
- レンタルサーバーを使っている場合は、サーバー会社のお知らせと、管理画面の PHP のバージョンを確認してください。
何が起きているか
PHP 公式から、2件の重大な脆弱性が発表されました。どちらも、ログインしていない第三者が、Web からの通信だけでサーバー上で命令を実行できる(リモートコード実行)おそれがあるものです。深刻度は CVSS v4.0 で 9.2(Critical)です。
| 番号 | 内容(かんたんに) | 深刻度 |
|---|---|---|
| CVE-2026-109618 | メモリが足りなくなったときの処理の途中で、準備が終わっていないデータを正しいものとして扱ってしまう | CVSS 9.2 |
| CVE-2026-109619 | 前の通信で使い終わったメモリの情報が残り、次の通信で誤って使われてしまう | CVSS 9.2 |
PHP 公式は、Web からの通信を処理しているすべての PHP(PHP-FPM、Apache の mod_php、php-cgi、FrankenPHP、LiteSpeed)が影響を受けるとしています。中でも Apache の mod_php の危険度がいちばん高いとしています。
対象のバージョンと修正版
| 使っている PHP | 修正版 | PHP 公式のサポート |
|---|---|---|
| 8.5 | 8.5.12 以上 | 2029年12月31日まで |
| 8.4 | 8.4.27 以上 | 2028年12月31日まで |
| 8.3 | 8.3.36 以上 | 2027年12月31日まで |
| 8.2 | 8.2.35 以上 | 2026年12月31日まで(あと少しで終了) |
| 8.1 以前 | PHP 公式からは出ない | 終了済み |
PHP 8.1 以前については、PHP 公式が 7.4・8.0・8.1 向けの最小限の修正(ソースコード)を用意したとしています。ただし PHP 公式の正式なリリースではありません。サーバー会社や OS(Ubuntu など)が独自に修正版を出すこともあるので、使っているサーバーの提供元に確認してください。
サイト運営者がやること
1. 今の PHP のバージョンを確認する
- WordPress の場合:管理画面の「ツール」→「サイトヘルス」→「情報」タブ →「サーバー」を開くと、PHP のバージョンが出ます。
- レンタルサーバーの場合:サーバーの管理画面(PHP のバージョンを選ぶ画面)でも確認できます。
2. 修正版に更新する
- レンタルサーバーの場合:細かいバージョン(8.3.36 など)はサーバー会社が更新します。サーバー会社のお知らせで、修正版への更新が済んだかを確認してください。
- 自分で管理しているサーバーの場合:PHP を修正版に更新したあと、PHP-FPM や Apache を再起動してください(再起動しないと古いまま動き続けます)。
3. PHP 8.1 以前なら、8.2 以上に切り替える
- 8.2 も 2026年12月31日でサポートが終わるので、切り替えるなら 8.3 以上がおすすめです。
- 切り替える前に、サイトのバックアップを取ってください。
- 古いテーマやプラグインは、新しい PHP で動かないことがあります。切り替えたあと、トップページ・お問い合わせフォーム・管理画面が正しく動くか確認してください。
すぐに更新できないときの暫定策(完全ではありません)
PHP 公式は、次の設定で危険を減らせるとしています。ただし「サイトを安全にするものではない」とも明記しています。あくまで更新までのつなぎとして使い、できるだけ早く修正版に更新してください。
- memory_limit=-1(PHP-FPM のプール設定や Apache の設定で php_admin_value として指定)
- post_max_size を小さくする(ファイルのアップロードが不要なら 8M、必要なら 32M)
- session.upload_progress.enabled=0(ini_set() や .user.ini では効きません。サーバーの設定で指定します)
- PHP 8.5 の場合は fatal_error_backtraces=0
memory_limit=-1 はメモリの上限をなくす設定なので、サーバーの負荷が上がることがあります。設定を変えたあとは、PHP-FPM や Apache の再起動が必要です。レンタルサーバーではこれらの設定を変えられないことが多いので、その場合はサーバー会社の対応を待つか、問い合わせてください。
出典
- PHP 公式:ニュース(2026年)
- PHP 公式:サポート中のバージョン
- GitHub:CVE-2026-109618(GHSA-w8hw-w9fx-j79w)
- GitHub:CVE-2026-109619(GHSA-6wmf-4rv5-p3rp)
この記事は 2026年10月21日時点の公式発表をもとにしています。新しい情報が出た場合は、出典のページを優先してください。
PHP の更新と、更新後に WordPress が正しく動くかの確認まで、1サイト30,000円(税込)で代行します。