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.5 | 8.5.12 |
| 8.4 | 8.4.27 |
| 8.3 | 8.3.36 |
| 8.2 | 8.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を使っている人は、こちらもチェックしておいてください。
10月16日から、レンタルサーバーやVPSの大手が、相次いで新規の受付を一時停止しています。 さくらインターネット(10月16日〜) KAGOYA(10月19日18時〜) ConoHa(10月19日〜) 原因は、Linuxカーネルの脆弱性「CVE-2026-99999」...
サイトが攻撃されると、何が起きるのか。タイムズカーの660万件の漏えいでは、運転免許証の画像まで流出しています。漏れてしまったときの対策は、こちらにまとめました。
2026.10.05
タイムズカーで660万件の情報漏えい。免許証が漏れたら個人でやるべき5つの対策
【追記:2026年10月21日】タイムズカーの漏えいのあと、信用情報機関への本人申告が殺到しています。全銀協(KSC)は9月29日にネットでの受付を一時休止し、JICCも10月初めにスマホアプリでの受付を一時止めました。CICは電話がつながりにくくなり、10月9日に回線を増やしたとのことです。漏え...
参考にした記事
- Security advisory: Critical remote code execution vulnerabilities, update now – PHP
- PHP 8.4.27 Released! – PHP
- GHSA-w8hw-w9fx-j79w(CVE-2026-109618) – GitHub
- GHSA-6wmf-4rv5-p3rp(CVE-2026-109619) – GitHub
- PHPの脆弱性(CVE-2026-109618 / CVE-2026-109619)に関する当社サービスへの影響について – KAGOYA
- php2shell (CVE-2026-109618, CVE-2026-109619): Frequently asked questions – Security Boulevard
- 【事前準備のお願い】PHPのセキュリティリリース公開予定について – IPA
- Upcoming Critical PHP Security Release – PHP
- Critical Vulnerabilities in PHP (2026-018) – CERT-EU
- Supported Versions – PHP
- PHP欠陥、京阪HDと阪神電鉄がHP停止 – 宮崎日日新聞(共同通信)
- 著名ITサービス相次いで緊急メンテへ コドモン、シャドバ、BASE、さくらのレンタルサーバなど – ITmedia NEWS
- プログラム言語「PHP」重大弱点 さくらネットは対応で機能一部停止 – 日本経済新聞
