COLUMN

コラム

PHPの緊急脆弱性、10月21日の修正版はサーバー会社が入れ、社長はバージョンを聞く

PHPの緊急の脆弱性。今夜の修正版には、入れてもらえる修正と選ばないと届かない修正がある

※本文は2026年10月21日15時時点の情報です。修正版の公開後に分かったことは、冒頭の「追記」にまとめています(10月22日未明に更新)。

PHP の緊急の脆弱性2件の修正版が、日本時間の10月21日夜に公開されました。WordPress のサイトを制作会社に作ってもらい、保守を頼んでいる会社なら、御社が自分で PHP を更新する必要は、まずありません。とはいえ、軽く見ていい話でもありません。PHP はサイトの土台なので、ここの穴はプラグイン1つの穴とは、手が及ぶ範囲が違います。使われたら何が起きうるかも、この記事に書いておきます。

今朝のニュースを見て「うちは何かしないといけないのか、誰がやるのか」が気になった社長や Web 担当の方、サーバーには自分で入れないという方は、制作会社に聞くことが4つあります。聞き方の文例は最後に置きました。制作会社と連絡がつかない、自社で作ったという場合も、PHP の版は WordPress の管理画面かサーバー会社のパネルで見られます。

追記(10月22日2時): 修正版が公開されました

修正版は予告どおり、日本時間21日の夜遅くに公開されました。前倒しも遅れもなく、ひとまずほっとしました。分かったことを先にまとめます。

  • 修正版の番号: 8.5.12/8.4.27/8.3.36/8.2.35。直った穴は2件で、番号は事前に報じられていた CVE-2026-109618 と CVE-2026-109619 のとおりでした。
  • 穴の中身: ログインなしで、外からサーバーの上でプログラムを実行されるおそれのある穴でした。サイトのページを組み立てる PHP なら、動かし方を問わず対象になりえます。一方で、攻撃の難しさは「高」とされ、前提となる条件があります。
  • 8.1 以前: 公式の修正版は出ませんでした。開発元は 7.4〜8.1 向けに修正のソースだけを公開していて、サーバー会社が独自に入れれば、穴を閉じる道は残っています。7.3 以前には、そのソースもないんです。CERT-EU は「PHP 5 以降すべて」の一文を取り下げ、影響する版に「8.1 以前」を加えました。
  • 悪用: この追記の時点で、実際の悪用を確認したという公的機関の発表はありません。ただ CERT-EU は、初期の実証コードが出回りはじめたと書いています。
  • サーバー会社: エックスサーバー(XServerビジネス・wpX も同じ告知)は、公開前から緩和策を入れ、公開後は提供している各 PHP バージョンに修正を順次入れる予定としています。ロリポップは、予防のために管理画面などを休止するメンテナンスを告知しました。私たちが見たそのほかのサーバー会社では、この時点で今回の件に触れた告知は見当たりませんでした。
  • WordPress 本体: 今回の件での更新は必要ありません。WordPress.org も、サーバー会社の告知を見ることと、サイトヘルスで PHP の版を見ることを勧めています。

社長がやることは、本文のとおりです。制作会社に聞く4つのうち、3つ目の、修正版がサーバーに入ったことを誰がいつ見るのかを、今朝まず聞いてください。8.1 以前のサイトだと、うちはどうなるのかが気になりますよね。サーバー会社が独自の修正を入れるかどうかも、制作会社からサーバー会社へ問い合わせてもらうのがよいと思います。

出典: php.net のお知らせ/CERT-EU/IPA(10月22日2時時点で未更新)

以下は、10月21日15時時点の本文です。

今日の14時56分、私たちは保守でお預かりしているサイトのサーバーに、順に入りはじめました。10月初めの点検で取った PHP の版の一覧を、修正版が出る前に今日の状態へ取り直すためです。5種類のレンタルサーバー、SSH で入れる13のアカウントにある全部のドメインが対象で、書き換えはせず、中の指定を見るだけの作業です。

今日15時、分かっていることと分かっていないこと

今回の件を報じる記事の多くは「2件・深刻度9.2・今夜23時」から始まるので、ニュースの中身は短く済ませます。

PHP のセキュリティチームは20日、重大な脆弱性2件の修正版を、日本時間の21日23時に出すと予告しました。詳細が漏れたり悪用の兆しが見えたりすれば前倒しもある、とも書いています。日本でも IPA が「事前準備のお願い」を出し、PHP を使っているものの棚卸しと、修正版が出たらすぐ入れられる準備を呼びかけました。サポートの切れた古い PHP を使い続けているサイトも見受けられる、と書き添えています(報道では ITmedia NEWS の記事などが速報しています)。

ややこしいのは、確かな話と、まだ噂に近い話が、同じ記事の中に並んでいることです。

項目15時の時点確かさと出どころ
脆弱性の数と深刻度2件・CVSS 4.0 で 9.2確定(php.net の予告)
修正版の公開日本時間21日23時(前倒しあり)確定(php.net の予告)
事前準備の呼びかけ棚卸し・すぐ入れられる準備確定(IPA)
悪用確認されていない確定・15時時点(IPA)
CVE 番号CVE-2026-109618/109619 とされる未確定(CERT-EU。php.net は番号を出していない)→ 公開後にこの番号で確定
影響する版「PHP 5 以降すべて」とされる未確定(SNS の投稿が元)→ 公開後に CERT-EU が取り下げ
修正版の番号未公表未確定(23時に php.net が出す)→ 公開済み

出典: php.net の予告/IPA/CERT-EU

「PHP 5 以降すべて」という言い方は、いかにも怖いですよね。ただ、これは公式の発表ではありません。私たちは、修正版が出て対象がはっきりするまで、この一文を数に入れません(追記: 修正版の公開後、CERT-EU はこの一文を取り下げました)。

2年前の例を1つ挙げておきます。2024年6月に騒ぎになった PHP の穴(CVE-2024-4577)は、日本語などの言語設定にした Windows で、PHP を CGI という動かし方で使っているサーバーが条件でした。穴の中身が公表されて初めて、どのサーバーが当たるのかがはっきりしたわけです。今回も、どのサーバーのどの使い方が当たるのかは今夜の発表まで分かりませんから、それまでにできるのは、自分のサイトの PHP が何なのかを知っておくことくらいだと思います。

穴を使われると、サイトで何が起きうるか

深刻度の 9.2 は、10点満点の物差しで「緊急」に分けられる最上位の帯(9.0〜10.0)の数字です。穴の中身はまだ公表されていません。ただ CERT-EU は、出回っている情報をもとに、外からサーバーの上で命令を動かされるおそれがあり、ログインも必要ない可能性がある、と書いています。裏の取れた話ではないと断ったうえで、もしその通りだったら会社のホームページで何が起きうるかを、私たちの見方で挙げておきます(追記: 修正版の公開で、ログインなしで外から命令を実行されるおそれのある穴だったことがはっきりしました)。

PHP は、WordPress のページを1枚ずつ組み立てている土台です。WordPress 本体もテーマもプラグインも、PHP の上で動いています。プラグインの穴なら、そのプラグインを外せば入口は閉じられます。土台の穴は、サイト全体が相手の手の及ぶ範囲になります。

  • ページの書き換えと、よそへの転送。会社の名前で検索した結果に見知らぬ通販や賭け事の文字が出て、訪れた人が偽のページへ飛ばされる。検索結果やブラウザに警告が出れば、問い合わせはそこで止まります。
  • 受け取った個人情報の持ち出し。WordPress がデータベースにつなぐための鍵は、サーバー上の設定ファイルに書かれています。サーバーの上で命令を動かせる相手なら、サイトに残しているフォームの控えや会員の情報まで読めてしまいます。不正アクセスによる個人データの漏えいは、そのおそれの段階でも、件数にかかわらず個人情報保護委員会への報告と、本人への通知が必要です。
  • 迷惑メールの送り元にされる。サーバーから大量のメールを送られると、会社のドメインが迷惑メール扱いされやすくなり、普段の見積もりや請求のメールまで相手の迷惑メールフォルダに振り分けられるようになります。サーバー会社にアカウントを停止されることもあります。
  • 同じアカウントの別のサイトも巻き込まれる。共用レンタルサーバーの1つのアカウントに、採用サイトやキャンペーンのサイトを一緒に置いていれば、そちらも巻き添えです。
  • 裏口を残される。侵入されたあとでは、修正版で穴がふさがっても、置いていかれた裏口のファイルは残ります。

だから、時間が大事になります。修正版が出ると、直す前と後の違いから穴の場所が読み解かれ、そこから攻撃が始まることがあります。IPA も今回、極めて短時間で攻撃が行われるおそれがあると書いています。2年前の CVE-2024-4577 でも、翌月に IPA が、国内の複数の組織で悪用があったとして注意喚起を出しました。修正の来ない 8.1 以前の系統では、穴の場所が知られたあとも、ふさがる日が来ません(追記: 冒頭の追記のとおり、穴が埋まるかはサーバー会社の独自の手当て次第になりました)。

今夜の修正は、整備工場が部品を替えるリコールに近い

保守の会社が「今夜うちが全部入れます」と言ってくれたら、社長としては安心でしょう。でも、共用レンタルサーバーで PHP 本体を入れ替えるのは、サーバー会社です。保守を預かる側としては少しもどかしいのですが、今夜、私たちの手で PHP 本体にできることは多くありません。

今日の午後に見て回ったサーバーでも、その通りでした。エックスサーバーは10月19日に全プランの PHP を最新の修正版にしたと告知していて、ロリポップも先月末に同じ更新を終えています。どちらも、契約している側の作業はありませんでした。

車のリコールに置き換えると分かりやすいかもしれません。メーカーが修理を発表すると、整備工場が部品を替えてくれる。持ち主が工具を持つ必要はありません。今夜の PHP の修正も、共用レンタルサーバーを使っているサイトなら、整備工場にあたるサーバー会社が引き受けてくれる部類の修正です。私たちはこれを「入れてもらえる修正」と呼んでいます。

図1: 今夜の修正版で、誰が何をするか。サーバー会社=同じ系統の中の修正を入れる/制作会社・保守=系統の確認と、入ったあとの動作確認/社長・Web担当=制作会社に4つを聞く

ただし、リコールには例外があります。とうに生産もサポートも終えた型には、部品そのものが出ません。

PHP にも「型」があって、8.2、8.3 のような、上から2つ目までの数字がそれです。この記事では「系統」と書きます。レンタルサーバーでは、この系統をドメインごとに選べるようになっていて、選んだ系統のまま、何年でも使われ続けます。サーバー会社は、系統の中の小さな版(8.3.34 から 8.3.35 へ、のような)は入れ替えてくれます。一方、系統そのものを 7.4 から 8.3 へ移すかどうかは、たいていは契約者の側が選びます。昔の系統の提供をやめるときに、予告して切り替えるサーバー会社もありますが、それはサイトが壊れるかもしれない変更だからこそ、予告するわけです。

サーバーの中には、古い系統も選べるように並んだまま残っています。7.4 のような系統の部品は、2023年を最後に新しくなっていません。系統の乗り換えは、契約している側、実際には保守を受け持つ制作会社が選んで初めて起きる。こちらを「選ばないと届かない修正」と呼ぶことにします。御社のサイトは、どちらの側にいるでしょうか。

8.2 は直っても、年末に期限が来る

では、修正が届くのはどの系統か。PHP の公式のサポート一覧を見ると、セキュリティの修正が出るのは今日の時点で 8.2〜8.5 の4つです。8.1 以前は一覧から外れていて、今夜の修正版も出ない見込みです(追記: 公式の修正版は出ませんでした)。

系統セキュリティ修正の期限今夜の修正版
8.52029年12月31日届く見込み
8.42028年12月31日届く見込み
8.32027年12月31日届く見込み(WordPress の推奨は 8.3 以上)
8.22026年12月31日届く見込み。ただし年末で終わる
8.1 以前終了出なかった

出典: PHP Supported Versions(2026年10月21日取得)。「見込み」は15時時点の表記。8.2〜8.5 の修正版は公開済みで、サーバーに入る時期は各社次第

図2: PHP の系統とサポート期限。8.1 以前は×、8.2 は今年の12月31日まで、8.3〜8.5 は修正が届く

気をつけてほしいのは、8.2 のほうです。今夜の修正は届くはずなので、ニュースを読んで「うちは 8.2 だから大丈夫」とほっとされる方もいると思います。困ったことに、8.2 のセキュリティの修正は、今年の大晦日で終わります。あと2か月あまりで、今日の 8.1 と同じ立場になるわけで、どうせ乗り換えの段取りを組むなら、今回の騒ぎと一緒に片付けてしまえば、手間は一度で済みます。8.2 のサイトなら、今回の確認のついでに年内の乗り換えまで話を進めておくのが筋だと、私たちは考えています。

世の中全体では、WordPress のサイトのうち、サポートの切れた 8.1 以前のままのものが約36%あります(WordPress.org の公開統計から、8.1 以前の割合を合計した概算)。取引先のサイトを3つ思い浮かべれば、1つは今夜の修正が来ない側にいる計算です。

外から見ても、版はほとんど分からない

「うちが何系かくらい、外から調べられないのか」と思われた方のために、外から拾うとどうなるかも今日試しました。

保守先のサイトを普通に開いて、そのときの PHP の版が拾えたのは約1割です。表示の多くはキャッシュ(作り置きのページ)から返っていて、PHP がそもそも動いていなかったからで、ここが外から見る方法の困ったところです。サーバーの中の指定ファイルなら、ドメインごとに PHP の版を書いた1行があるだけなので、15時10分には SSH で入れる13のアカウントの全部のドメインの系統が揃いました。版は、中の指定か、サイトヘルスで見るものです。

サーバーに入って「php -v」と打てば版が出る、という説明もよく見かけます。ただ、そこで出るのは黒い画面で最初に呼ばれる、サーバーに元から入っている PHP の版で、5.4.16 のような、とうの昔の数字が出ても不思議はなく、サイトで使われている版とは別物です。私たちが版を管理画面かパネルで見るのは、そのためです。

修正版を待たずにできることもあります。サイトの応答に PHP の版をそのまま書き出す設定(expose_php)を切ることと、PHP の設定一覧を表示するファイルが公開フォルダに置きっぱなしになっていないかを、制作会社に見てもらってください。穴をふさぐ作業ではありませんが、どの版かを外に教える目印は消えます。

社長が自分で見られる場所もあります。WordPress の管理画面で「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」と開くと、「PHP バージョン」の欄に、いまサイトで使われている版が出ます。車検証で型式を見るようなものです。管理者の権限が必要なので、見られなければ制作会社に聞けば足ります。御社の画面には、いくつと出ていますか。

今夜23時のあと、誰が何を確かめるか

修正版が出たあとは、こう進むことになると思います。

まず、サーバー会社が自社のサーバーに修正版を入れます。入る時期は会社ごとに違い、同じ日に見ても、会社によって入っている修正の段階が違うことは普段からよくあります。だから「今夜のうちに入るはず」と決め打ちせず、各社のお知らせを見て判断することになります。15時の時点では、私たちが見た範囲のサーバー会社で、今回の件に触れた告知はまだ出ていませんでした(追記: その後、エックスサーバー系とロリポップが告知を出しています)。

次に、制作会社・保守の側が、入ったことと、サイトがちゃんと表示されることを確認します。私たちは「報告された症状で止めず、必ず実際の表示を自分で確認する」ようにしています。修正版が入った翌日に、トップページと問い合わせフォーム、ログインの画面を順に見てみる。地味ですが、ここを飛ばす理由はありません。

あわせて見ておきたい目印もあります。管理画面のユーザー一覧に覚えのない管理者がいないか、会社名で検索した結果に見知らぬ文字が出ていないか、取引先から「メールが迷惑メールに振り分けられていた」と言われていないか。どれかに当てはまれば、修正版が入ったかどうかとは別に、制作会社にサーバーの中を見てもらってください。

そして、選ばないと届かない修正のほうです。8.1 以前のサイトは、今夜のニュースとは関係なく、系統の乗り換えの段取りが必要です。ただ、今夜慌てて系統を乗り換えるのは、私たちがいちばん避けたい動き方です。何年も前の WordPress のまま PHP だけを新しくすると、エラーも出さずに全ページが「見つかりません」になることがあるからです(見積書の書かれていない3行で、実際に起きた例を書きました)。知恵袋でも、PHP を上げたら表示が崩れた、という相談を見かけます。そうなった人を責める気にはなれません。順番を誰も教えてくれなかったのですから。

順番は、WordPress 本体とテーマ、プラグインが新しい系統に対応しているかを調べるのが先で、PHP はそのあとです。私たちは、全サイトに広げる設定変更は、まず数サイトで試し、画面とログインとフォームを見てから全体へ進めるようにしています。今月の初めに別の設定を広げたときも、最初は3サイトから始める段取りにしました。

今日の午後の私たちの判断も、ここに沿っています。修正版が出る前にやるのは一覧の取り直しまで。系統の切り替えは、修正版の中身と各サーバー会社の動きを見てから順番に、です。

プラグインの更新とサーバーの PHP の更新は、似ているようで持ち主が違います。プラグインは WordPress の中の話なので、管理画面から更新できます。PHP はサーバーの土台の話なので、管理画面の「更新」ボタンをいくら押しても変わりません(プラグインの更新と、その先に残るものの話は、関連記事のバックアップ系プラグインの記事にまとめています)。

「ネットから切り離す」は、中小企業のサイトに現実的か

CERT-EU は、修正をすぐ当てられないなら、インターネットに公開しているアプリを切り離すことも考えるように、と書いています。ニュースでこの一文を読んで、驚いた方もいるかもしれません。

中小企業のサイトに置き換えると、話はだいぶ変わる、というのが私たちの見方です。共用レンタルサーバーに置いている会社のホームページで、サーバーごとネットから外す、という選択肢はそもそもありません。できるのは、サイトをメンテナンス表示にするか、パスワードをかけて見えなくすることくらいで、問い合わせや採用の窓口を閉めることになるので、代償はかなり大きいんです。休んでいる間に限って大事な問い合わせが来たら、と考えると嫌なものです。考える価値があるとすれば、修正の届かない系統のままで、しかも個人情報を受け取るフォームや会員のログインがあるサイトに限られるのではないかと思います。8.2〜8.5 に乗っているサイトなら、閉めるより、サーバー会社の修正が入ったかを見届けるほうに力を使ったほうがいい。悪用が確認されたという話が出てくれば、この見方は変わります(追記: この追記の時点で悪用の確認はありません。ただ、初期の実証コードがあるという CERT-EU の記述があり、私たちも引き続き見ています)。

制作会社に聞く4つ

最後に、制作会社へそのまま送れる形にしておきます。

図3: 制作会社に聞く4つ。どのサーバー会社か/PHP は何系か/今夜の修正版が入ったかを誰がいつ確認するか/系統を上げるときの動作確認は誰がするか
  • うちのサイトは、どのサーバー会社と契約していますか
  • PHP は何系ですか(8.1 以前か 8.2 なら、乗り換えの段取りと費用も)
  • 今夜の修正版がサーバー会社から入ったかを、誰が、いつ確かめますか
  • 系統を上げるとき、表示やフォームの動作確認は誰がしますか

文例も置いておきます。

いつもお世話になっております。PHP の緊急の脆弱性の報道を見ました。弊社サイトについて4点教えてください。①契約しているサーバー会社 ②PHP の系統(8.1 以前・8.2 の場合は乗り換えの段取りと費用の目安)③10月21日夜の PHP の修正版がサーバーに入ったことを、どなたがいつ確認されるか ④系統を乗り換える場合の動作確認のご担当。お手数ですが、よろしくお願いいたします。

4つのうち、今夜のうちに答えが要るのは3つ目だけです。残りの3つは、8.2 の期限の12月31日までに答えが揃っていれば間に合います。

系統の確認や乗り換えの相談は、HOMELY のお問い合わせからどうぞ。制作会社と連絡がつかない場合も含めて、いまのサーバーのまま、何系かの確認からお手伝いします。

お問い合わせ

お問い合わせフォームへ

まずは、あなたのお悩みを
お聞かせください。

システム開発、ホームページ制作、運用・更新についてのご相談を承っております。

「こんなシステムは作れる?」「AIで業務を効率化したい」「ホームページをリニューアルしたい」など、まだ具体的な内容が決まっていない段階でも問題ありません。まずはお気軽にHOMELYへご相談ください。

お問い合わせフォームへ