当サイトの記事にはプロモーションが含まれています。

PHPの最新の脆弱性とは?初心者向けに現状と今日できる対策

PHPの最新の脆弱性とは?初心者向けに現状と今日できる対策
パソコンパソコン・スマホ教室
スポンサーリンク

となりのパソコン・スマホ教室の uri uri です。今日は、2026年10月21日に公表されたPHPの重い脆弱性と、今日できる対策のお話です。

サイトを見るだけの人は気にしなくてOKです。ただ、サイトを持っている人は、PHPの版を確かめて、サポート中の版にしておくことが大事です。細かい修正版への更新は、レンタルサーバーではサーバー会社の作業になります。

関係する人の特徴
  • WordPressでブログやお店のサイトを持っている
  • レンタルサーバーやVPSでサイトを動かしている
  • 何年もPHPの設定を触っていない
  • サイトの管理を業者さんに任せたままにしている

サイトを持っていない人や、スマホやパソコンでサイトを見るだけの人は、今回は何もしなくて大丈夫です。ここで戻っていただいてかまいません。

スポンサーリンク

PHPとは何か?初めて聞く人向けにザックリ説明します

すんごいザックリ言うと、PHPはサイトを裏で動かすための言葉です。WordPressもPHPで作られていて、サーバーという置き場所の中で動いています。

お店にたとえると、WordPressは売り場で、PHPは裏の厨房のようなものです。売り場をどれだけきれいにしても、厨房の裏口のカギが壊れていたら困りますよね。今回の話は、この裏口のカギの話です。

WordPressは売り場、PHPは厨房、建物はサーバーというお店のたとえの図
PHPとWordPressの関係をお店にたとえた図(今回は裏口のカギの話)

2026年10月21日公表のPHPの最新の脆弱性「PHP2Shell」とは?

PHPの公式サイトの発表では、2026年10月21日に重大な脆弱性2件を直した新しい版が出ました。番号はCVE-2026-109618とCVE-2026-109619です。私が見たPHPの公式サイトのお知らせにも、8.5.12の発表が載っていました。

PHP公式サイトの8.5.12の発表(21 Oct 2026)
8.5.12の発表のお知らせ。今回の2つのCVE番号が載っている(2026年10月22日に私が撮影)

IPAの発表によると、2つの組み合わせは「PHP2Shell」と呼ばれています。気になるのは、ログインしなくても、外からサーバーで勝手に命令を動かされるおそれがある点です。

深刻さの点数は、PHP側の採点で10点満点の9.2です。米国のNVDの採点では9.8が付いています。

PHP2Shellの仕組みを一言で

1つ目は、メモリが足りなくなった瞬間の後始末で、作りかけのデータを正しいものとして扱ってしまう欠陥です。2つ目は、前のお客さんの片づけ忘れを、次のお客さんの処理で使ってしまう欠陥です。

え?WordPressを最新にしていれば大丈夫じゃないの?と思いますよね。発見に関わったWizの説明では、この欠陥はアプリ側の作りに関係なく起きます。WordPressの更新とは別に、PHPの更新が必要です。

Wizによると、調査にはGemini 4 Argon、GPT-5.6 Sol、自社のWiz AtlasというAIを使ったそうです。なかでもGemini 4 Argonが、発見に大きく貢献したと書かれています。

PHP2Shellの影響する版と直った版

次の表は、影響する版と直った版を、サポート中の4つの系統ごとに1行ずつまとめた物です。

系統 影響する版 直った版
8.5系 8.5.12より前 8.5.12
8.4系 8.4.27より前 8.4.27
8.3系 8.3.36より前 8.3.36
8.2系 8.2.35より前 8.2.35

JPCERT/CCの注意喚起も、この4つの系統を対象に挙げています。PHP開発チームは、完全な対策は更新しかないとしています。

私が2026年10月22日にPHP公式サイトの変更履歴のページを調べてみると、いちばん上は8.5.12でした。その先頭の行に、今回の2件を直したという記載が載っていることが分かりました。

PHP公式サイトの変更履歴の先頭(8.5.12)
変更履歴のいちばん上は8.5.12。1行目が今回の2件を直した記録(2026年10月22日に私が撮影)

PHP2Shellは2026年10月22日時点で悪用されているの?

ニュースを見て、不安になった方も多いと思います。分かっている事だけを並べますね。

米国のCISAの発表では、公表の時点で悪用は確認されていません。IPAの10月21日時点の発表でも、悪用した攻撃は確認していないと書かれています。

一方でCloudflareの公式ブログでは、顧客を狙う攻撃の通信を観測したと書かれています。これは攻撃の試みの話です。実際の被害の件数は、公式の発表に出ていません。

慌てる必要はありませんが、後回しにしない方がよい話です。JPCERT/CCも、国内で広く使われていることを確かめたうえで、速やかな対策を求めています。

CISA・IPA・Cloudflareの発表を3つの吹き出しで並べた図
3つの発表を並べた図(どれも2026年10月21日時点の発表)

サポートが終わった古いPHPはなぜ危ないの?2024年の事例

PHPの各版は、決まった期間だけ直してもらえます。PHPの公式サイトでは、最初の2年は全面的に直し、次の2年は重い欠陥だけを直します。合わせて4年で終わる決まりです。

私が2026年10月22日にこの表を見たところ、載っていた版は8.2・8.3・8.4・8.5の4つだけでした。8.2は2026年12月31日までで、表には「in 2 months」と出ていました。私が2026年10月22日に、自分のパソコン(Windows11)のChromeでPHPの公式サイトを開いて確かめた様子を動画にしました。

私のパソコンでPHPの公式サイトを開き、サポート中の版と8.5.12の変更履歴を確かめた様子
PHP公式サイトのサポート中の版の表(2026年10月22日に撮影)
サポート中の版は8.2・8.3・8.4・8.5の4つだけ(2026年10月22日に私が撮影)

今回、PHP8.1以前の版には公式の修正版が出ていません。8.1以前を使っているサイトは、サポート中の版へ上げる必要があります。8.2も年末で終わるので、上げるなら8.3以上が安心です。

過去の例も1つ紹介します。2024年に見つかったCVE-2024-4577は、Windowsで動くPHPの欠陥でした。IPAの発表では、この欠陥を悪用した被害が国内で確認されています。

Cisco Talosの報告では、2025年に入っても日本の組織を主に狙った悪用が続いていました。直す版が出ても、古いまま放っておくと狙われ続けるということです。

今日できるPHPの脆弱性対策の手順は3つ!

やることは、版を確かめる・備える・上げるの3つです。上から順に進めてください。

サイトヘルスで版を見る、バックアップと更新、8.3以上に上げる、の3つの手順の図
今日できる対策の3つの手順

手順1 自分のサイトのPHPの版を確かめる

私が2026年10月22日に、運営しているサイトを外から確かめたところ、PHPの版を知らせる情報は出ていませんでした。外から見ても版は分からないので、管理画面で見るのが確実です。(ぶっちゃけやろうとおもえば外からでも簡単に確認できますが、それは置いておきます)

PHPの版を確かめる方法はいくつかあります。

PHPの版を確かめる方法
  • WordPressの管理画面の「サイトヘルス」で見る
  • レンタルサーバーの管理画面で見る(エックスサーバーなら「PHP Ver.切替」の画面に今の版が出ます。ほかの会社はそれぞれの管理画面です)

WordPressの場合は、ここを見れば確認できます。管理画面の「ツール」→「サイトヘルス」を開くと「ステータス」タブが出ます。「テスト通過」を押して開くと、「問題のない項目」の中に「サイトは推奨バージョンのPHP(…)を実行しています」のように、今の版が出ます。古い版だと、ここではなく上の「おすすめの改善」や重大な問題の側に出ることもあります。WordPress公式の説明では、「情報」タブの「サーバー」の欄でも見られます。私のサイトで実際に開いた画面です。

サイトヘルスのステータスタブ。問題のない項目にPHPの版の行がある(版の数字は黒塗り)
サイトヘルスの「問題のない項目」に出るPHPの版の行(私のサイト・版の数字は黒で塗っています)

細かい版の数字は、黒く塗って隠しています。自分のサイトの版を人に見せると、古い版を狙う攻撃の手がかりになるためです。

画面を開いたらここを見て
  • 8.1以下や7.4などの数字なら、手順2へ進む
  • 8.2なら年末でサポートが終わるので、手順2へ進む
  • 8.3以上なら、最後の「サーバー会社の修正版」を確かめる

手順2 PHPを上げる前にバックアップとプラグインの更新

WordPress公式の案内では、PHPを上げる前にサイトのバックアップを取るよう勧めています。あわせて、プラグインとテーマも最新にしておくと安心です。

手順3 エックスサーバーでPHPの版を8.3以上に上げる

ここではエックスサーバーを例に、同社の公式マニュアルの説明に沿って書きます。サーバーパネルの操作はサーバーごとで若干違うので、ほかの会社の方は契約先のマニュアルをご覧ください。

  1. サーバーパネルにログインし、「PHP Ver.切替」を押す
  2. 変えたいドメインの右にある、ペンのアイコンを押す
  3. 「変更後のバージョン」で8.3以上を選び、「設定する」を押す

切り替えたら、すぐに自分のサイトを開いて表示を確かめましょう。うまく動かないときは、PHPの版を元に戻すかサーバー会社に相談し、次に手順2で取ったバックアップで元に戻すようWordPress公式が案内しています。

エックスサーバーはお知らせで、PHP8.3以上の利用を勧めています。WordPressの公式の推奨も8.3以上です。

版の切り替えは私の本番サイトでは試していないため、手順はエックスサーバー公式の説明のとおりに書いています。ここは希望がたくさんあれば記事に追加して、試した様子をお見せしたいと思います。

上げた後はサーバー会社の修正版も確かめる

エックスサーバーでは、8.4.26から8.4.27のような細かい更新はサーバー会社が行っています。WordPress公式も、PHPの更新はサーバー会社の設定に従うか、サーバー会社に頼むものと案内しています。エックスサーバーの発表では、10月19日に9月の修正版までは更新済みです。今回の修正版が入ったかは、10月22日時点のお知らせ一覧には書かれていません。ただ、私のサイト(エックスサーバー)では、2026年10月22日の夜にサイトヘルスを見たとき、PHPはすでに今回の修正版になっていました。私が見たのは自分のサイト1つだけなので、自分のサイトのサイトヘルスで確かめてください。

契約しているサーバー会社のお知らせで、8.5.12・8.4.27・8.3.36・8.2.35以上が入ったかを確かめましょう。分からなければ、サーバー会社に問い合わせれば大丈夫です。

VPSなどで自分でPHPを入れた方は、直ちに修正版へ更新してください。8.1以前のまま上げられない場合、CISAは更新できるまで公開を止めることも勧めています。

最後に

今日やる1歩は、WordPressのサイトヘルスでPHPの版を見ることです。8.3以上にして、サーバー会社の修正版が入っていることを確かめれば、今回の対策はひと区切りです。8.2以下だった方は、バックアップを取ってから版を上げましょう。

分からない用語があれば参考にしてください。

言葉 意味
PHP サイトを裏で動かす言葉。WordPressもこれで動く
脆弱性 ソフトの欠陥やすき間
CVE 脆弱性に付く世界共通の番号
CVSS 深刻さを10点満点で表す点数
遠隔コード実行 外から勝手に命令を動かされること
PHP2Shell 今回の2件の脆弱性のあだ名
サポート終了 もう直してもらえなくなった版
サイトヘルス WordPressの健康診断の画面
レンタルサーバー 借りて使うサイトの置き場所
VPS 自分で設定して使う借りたサーバー
WAF サイトの前に置く門番の仕組み
修正版 欠陥を直した新しい版

出典(参考にした公式ページ)

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

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