ニュース

  • HOME
  • ニュース
  • PHPの緊急セキュリティ更新が公開。8.5.12・8.4.27・8.3.36・8.2.35へ今すぐ更新を WordPressの人は何をすればいい?

PHPの緊急セキュリティ更新が公開。8.5.12・8.4.27・8.3.36・8.2.35へ今すぐ更新を WordPressの人は何をすればいい?

【追記:2026年10月21日 23時】PHPの修正版が公開されました。対象はPHP 8.5.12・8.4.27・8.3.36・8.2.35の4つです。脆弱性は、ログインなしで外からプログラムを動かされる(リモートコード実行)おそれがあるもので、開発チームは「すべてのPHPユーザーは今すぐ更新を」と呼びかけています。レンタルサーバーの人は、サーバー会社の対応状況を確認してください。詳しくは「修正版は4つ」に追記しました。

【追記:2026年10月21日 22時】修正版の公開を前に、サイトやサービスを予防的に止める動きが相次いでいます。京阪ホールディングスは21日、ホームページを一時停止し、阪神電気鉄道も停止すると発表しました。BASEやShadowverseなども緊急メンテナンスに入っているとのこと。さくらのレンタルサーバも、対応のために一部の機能を止めると発表しています。レンタルサーバーを使っている人は、サーバー会社からのお知らせをチェックしておきましょう。

2026年10月21日、IPA(情報処理推進機構)が「【事前準備のお願い】PHPのセキュリティリリース公開予定について」という注意喚起を出しました。

そして予告どおり、10月21日に修正版(8.5.12・8.4.27・8.3.36・8.2.35)が公開されました。深刻度は10点満点で9.2。PHPの開発チーム自身が「Critical(重大)」と呼び、「すべてのPHPユーザーは今すぐ更新を」と呼びかけています。

ただ、ニュースを見て、「それで、自分は何をしたらいいの?」と思った人も多いはず。

先に結論を言うと、やることは立場によって2つに分かれます。

  • レンタルサーバーでWordPressを使っている人は、PHPのバージョンを確認して、サーバー会社のお知らせをチェック
  • サーバーを自分で管理している人は、今すぐ修正版に更新する

PHP脆弱性の経緯

経過をまとめると、こうなります。

日付内容
10月20日PHPの開発チームが、重大なセキュリティリリースを予告
10月20日欧州連合(EU)のセキュリティ機関CERT-EUが注意喚起。脆弱性の番号はCVE-2026-109618とCVE-2026-109619
10月21日IPAが「事前準備のお願い」を公表
10月21日修正版(8.5.12・8.4.27・8.3.36・8.2.35)を公開。開発チームが「今すぐ更新を」と呼びかけ

PHPとは

PHPは、Webサイトを動かすためのプログラミング言語です。

ブログやホームページを作るソフトの定番、WordPressもPHPで動いています。WordPressを車に例えるなら、PHPはエンジンのようなもの。ふだんは見えないところで、ページを組み立てて表示しているわけです。

それだけに、PHPに穴があると、世界中のたくさんのサイトが一度に影響を受けかねません。今回、開発チームが公開前から予告しているのは、このためです。

深刻度は9.2

修正版の公開前に分かっていたのは、次のところまでです。

  • 脆弱性は2件。深刻度(CVSS)は、どちらも9.2
  • 技術的な詳細は、修正版の公開まで伏せられていた
  • CERT-EUは、点数の高さから「ログインなしで、外からプログラムを動かされる」おそれがある、と見ていました
  • 「PHP 5以降のすべてが対象」という話も出ていましたが、出どころはSNSの投稿で、まだ確かめられていないとのこと
  • IPAは、10月21日の時点で攻撃は確認していないとしています

ちなみに2024年にも、PHPの脆弱性(CVE-2024-4577)が公開後に攻撃に使われ、IPAが注意を呼びかけたことがありました。修正版が出たら、すぐ当てる。これが一番の対策なんです。

修正版は4つ

PHPの開発チームは、予告どおり10月21日に修正版を公開しました。

使っているPHP更新先
8.58.5.12
8.48.4.27
8.38.3.36
8.28.2.35
8.1以前公式の修正版はなし。8.2以降へ上げる

公開と同時に、脆弱性の中身も明らかになりました。

  • CVE-2026-109618:メモリが足りなくなったときの処理に穴があり、準備の途中の壊れたデータを、後片付けで正しいものとして扱ってしまう
  • CVE-2026-109619:片付けたはずのデータが残っていて、同じプロセスが次に受けたリクエストで使われてしまう

どちらも、ログインなしで外からプログラムを動かされるおそれがあります。海外のセキュリティ系メディアでは、「php2shell」という通称も使われ始めているんだとか。PHPの穴を足がかりに、サーバーを操作できる状態(シェル)まで持っていかれる、というイメージですね。

影響があるのは、Webサイトを表示するために動いているPHPのすべて。PHP-FPMやmod_php(ApacheにPHPを組み込む方式)、php-cgi、LiteSpeedなどが挙がっています。

中でもmod_phpがいちばん危ないとのことで、アプリのプログラムが動く前に攻撃が成立することが、実際に確かめられています。

開発チームは「完全に防ぐ方法はない。更新だけが安全な選択肢」と言い切っています。予告の段階より、ずっと踏み込んだ書き方ですね。

8.1以前は公式の修正なし

8.1以前のPHPには、公式の修正版は出ません。ただ、深刻さを考えて、開発チームは7.4・8.0・8.1向けに最小限の修正パッチ(ソースコード)を用意しました。とはいえ、これは自分でPHPをビルドする人向け。レンタルサーバーで古いPHPを選んでいるなら、8.2以降へ切り替えるのが近道です。

なお、8.2も2026年12月31日でサポートが終わります。せっかくバージョンを上げるなら、8.3以上にしておくと、年明けにまた慌てずに済みますよ。

自分は関係ある?

立場ごとに整理すると、こうなります。

立場ToDo
レンタルサーバーでWordPressなどを使っているPHPのバージョンを確認。サーバー会社のお知らせを確認
VPSや自社サーバーで、PHPを自分で入れている今すぐ修正版に更新。すぐに無理なら応急処置

レンタルサーバー

レンタルサーバーの場合、PHPの本体を更新するのはサーバー会社です。利用者がやっておきたいのは、次の3つ。

PHPのバージョンを確認する

WordPressなら、管理画面の「ツール → サイトヘルス → 情報 → サーバー」で確認できます。サーバー会社の管理画面でも、サイトごとのPHPのバージョンが見られるはずです。

8.1以前ならバージョンを上げる

PHPにはサポート期限があって、2026年10月の時点でサポートされているのは8.2〜8.5だけ。今回の修正版も、8.2〜8.5にしか出ていません。8.1以前のままだと、サーバー会社が独自に手当てしていない限り、穴がふさがらないんです。上げる前にはバックアップを取って、テーマやプラグインが新しいバージョンに対応しているかを確かめておきましょう。

サーバー会社のメールを見逃さない

修正版の公開を受けて、各社から対応の案内が出るはずです。PHPのバージョンを選び直すよう求められることもあるので、登録しているメールアドレスが、いま読めるものか確かめておくと安心です。

修正版はすでに公開されているので、各社のお知らせページもこまめに確認しておきましょう。KAGOYAは10月21日の時点で、「影響の有無を調査中」と発表しています。

自前サーバーなら

VPSや自社のサーバーに、PHPを自分で入れている人は、今すぐ修正版への更新が必要です。手順は次のとおりです。

PHPが動いているサーバーを洗い出す

意外と忘れがちなのが、昔作ってそのままのテスト用サーバーや、PHPを中で使っている製品。IPAも、製品の中でPHPが使われていないか確認するよう呼びかけています。

今のバージョンを控えてバックアップ

ソースからビルドしている場合は、前回の設定(configureのオプション)も控えておくと、作業が早く済みます。

すぐに更新して再起動する

8.5.12・8.4.27・8.3.36・8.2.35のどれかに上げて、PHP-FPMやApacheを再起動します。Linuxのディストリビューションには、修正が事前に配られているとのことなので、まずはOSのパッケージの更新を確認しましょう。

remi(RHEL系でよく使われる、有志のパッケージ置き場)を使っている人は要注意。開発チームによると、remiは10月21日の時点では更新されないそうです。ディストリビューションのパッケージに切り替えるか、ソースからビルドするよう勧められています。

すぐに直せない場合は

開発チームは、すぐに更新できない場合の応急処置も公開しました。ただし「攻撃の一部の経路を減らすだけで、安全になるわけではない」とのこと。あくまで、更新するまでのつなぎです。

主なものは、次の4つ。

  • session.upload_progress.enabled=0にして、すべてのワーカーを再起動する(CVE-2026-109619の、確認済みの経路をふさぐ)
  • post_max_sizeを低くする。ファイルのアップロードがないなら8M、あるなら32M。upload_max_filesizeは、それより小さく
  • memory_limit=-1にして、アプリ側で上書きできないようphp_admin_valueで固定する(CVE-2026-109618で、PHPのメモリ上限に引っかかる経路をなくす)
  • PHP 8.5なら、fatal_error_backtraces=0にして再起動する
; php.ini、またはFPMのプール設定などに書く
session.upload_progress.enabled = 0
post_max_size = 8M

ここで大事なのは、ini_set()や.user.iniでは効かないこと。php.iniやFPMのプール設定など、リクエストを読む前に効く場所に書いてください。また、memory_limitを無制限にすると、メモリを使い切るリスクも出てきます。コンテナやcgroupでメモリの上限をかけておくのがおすすめとのこと。いずれにしても、いちばんの対策は修正版への更新です。

まとめ

  • PHPに重大な脆弱性が2件。修正版8.5.12・8.4.27・8.3.36・8.2.35が10月21日に公開
  • ログインなしで外からプログラムを動かされるおそれ。特にmod_phpが危ない
  • 8.1以前は公式の修正なし。8.2も年末でサポート終了なので、上げるなら8.3以上へ
  • レンタルサーバーの人は、PHPのバージョンとサーバー会社のお知らせを確認
  • 自分で管理している人は、今すぐ更新して再起動。無理なら応急処置でしのぐ

「事前準備のお願い」から一夜明けて、やることはシンプルになりました。自分のPHPのバージョンを確かめて、修正版に上げる。これだけです。レンタルサーバーなら、サイトヘルスを開くのに1分もかかりません。今日のうちに、ぜひ見ておいてください。

同じ週には、Linuxカーネルの脆弱性「PwnEscape」で、さくら・KAGOYA・ConoHaが新規受付を止める騒ぎもありました。VPSを使っている人は、こちらもチェックしておいてください。

サイトが攻撃されると、何が起きるのか。タイムズカーの660万件の漏えいでは、運転免許証の画像まで流出しています。漏れてしまったときの対策は、こちらにまとめました。

参考にした記事

トレンドニューストレンド一覧