2026年10月のPHPの脆弱性:何が起きたか

PHPを開発しているプロジェクトは、2026年10月21日(日本時間では21日の23時ごろ)に、2つの脆弱性を直した版を公開しました。脆弱性は、攻撃に使われるおそれのある、ソフトウェアの弱点のことです。PHPの公式サイトのお知らせによると、今回の2つの脆弱性では、外部の第三者が、ログインなどの認証なしで、サーバーの上でプログラムを動かせてしまうおそれがあります。対象は、Webのページを返すために動いているPHPのすべてです。公式サイトは、すべての利用者にすぐに更新するよう強く呼びかけています。

修正された版は、8.5.12、8.4.27、8.3.36、8.2.35の4つです。番号は、第6章で自社のPHPの版と見比べるときに使うので、いま覚えなくてかまいません。8.1以前の版は、PHPの公式の更新の対象から外れています。公式サイトは、8.1以前を使っている場合は、サーバーの基本のソフトを提供している会社などに、独自の修正があるかを確かめるか、サポートが続いている版へ上げるよう案内しています。設定を変えて攻撃の道を減らす方法も載っていますが、それでは安全にはならず、完全な対策は更新だけだとしています。

日本では、IPA(情報処理推進機構)が、修正された版が出る前の21日に事前準備のお願いを出し、PHPを使っているものを可能な範囲で洗い出すよう呼びかけていました。報道によると、修正された版が出たあと、国内のWebサービスやレンタルサーバーの会社が、予防のための緊急メンテナンスを相次いで行い、首相も対応を呼びかけました(報道・2026年10月22日)。

2026年10月のPHPの脆弱性の流れ 10月20日 PHPの公式サイトが 重大な修正を 21日に出すと予告 10月21日 IPAが 事前準備を 呼びかけ 21日23時ごろ 修正された版を公開 8.5.12・8.4.27 8.3.36・8.2.35 (日本時間) 10月22日 国内の各社が 緊急メンテナンス や更新 8.1以前の版は、PHPの公式の更新の対象外
図1:2026年10月のPHPの脆弱性の流れ。出どころ=PHPの公式サイト(2026年10月20日・21日)、IPA(2026年10月21日)、報道(2026年10月22日)。

今回の件で担当者がすることは、自社のサイトのPHPが、今回の修正の入った版になっているかを確かめることです。 脆弱性の詳しい仕組みを知らなくても、確かめることはできます。

PHPとは:会社のホームページのどこで動いているか

PHPは、サイトの裏側でページを組み立てるプログラムの言語です。見に来た人がページを開くたびに、サーバーの上でPHPが動き、記事の文章や写真を組み合わせてページを作り、見に来た人のブラウザに返します。

会社のホームページでよく使われるWordPressは、PHPで書かれています。WordPressで作ったサイトは、PHPで動いていると考えてかまいません。 WordPressでなくても、問い合わせフォームなど一部だけをPHPで動かしているサイトもあります。

PHPは、ページが開かれるたびにサーバーの上で動いている 見る人 ページを開く サーバー PHP プログラムの言語 WordPress 記事・写真 → ページ を返す PHPがWordPressを動かし、文章や写真を組み合わせてページを組み立てる
図2:会社のホームページで、PHPが動いている場所。WordPressで作ったサイトでは、ページが開かれるたびにサーバーの上でPHPが動く。

IPAは、PHPがWebのサイトだけでなく、ソフトウェア製品やネットワーク機器の内部でも使われていることがあると注意しています。製品の中で使われているかは利用者からは分からないことがあるので、使っている製品の開発元のお知らせを見ます。この記事では、会社のホームページに絞って説明します。

自社のサイトが関係あるかを確かめる

最初に、自社のサイトがPHPで動いているかを確かめます。動いている場合は、PHPの版(バージョン)がいくつかも見ます。WordPressの管理画面や、サーバー会社の管理画面に入れれば、担当者が自分で確かめられます。入れないときや、どこを開けばいいか分からないときは、作った会社に聞きます。

いまの状況関係あるか確かめ方
WordPressで作ってある関係ある管理画面の「ツール」→「サイトヘルス」→「情報」→「サーバー」で、PHPの版を見る
WordPressを使っているか分からないが、レンタルサーバーを借りている関係あることが多いサーバー会社の管理画面でPHPの版を見る。サーバー会社のお知らせも見る
何で作ってあるか分からない分からない作った会社に、PHPで動いているかと、版を聞く
ホームページ作成サービスで作ったサービスによるサービスのお知らせを見る

WordPressのサイトヘルスは、管理者の権限で管理画面に入ると見られます。レンタルサーバーの管理画面では、PHPの版を選ぶ画面に、いまの版が出ていることが多いです。サーバー会社の多くは、今回の件についてお知らせを出しています。お知らせには、サーバー会社が何をしたか、利用者に何をしてほしいかが書いてあるので、先に読みます。

作った会社に聞く前に、外からどう見えているかを知りたいときは、ARROWSの無料のセキュリティ診断で、サイトを動かしている仕組み(CMS)とその版が外から見えていないかを確かめられます。外から見える範囲だけを見る診断なので、PHPの版や、修正が入っているかを確かめる方法ではありません。

管理画面に入れないときや、何で作ってあるか分からないときは、作った会社に聞くのがいちばん早い確かめ方です。 聞くことは、第5章で2つにまとめます。

WordPressを最新にしても、PHPは別

WordPressの管理画面には、「更新」のボタンがあります。このボタンで新しくなるのは、WordPress本体、プラグイン(機能を足す部品)、テーマ(見た目のひな形)です。

PHPは、このボタンの外にあります。PHPはWordPressの部品ではなく、WordPressを動かすためにサーバーに入っているものだからです。WordPress本体を最新にしても、サーバーのPHPが古い版のままなら、今回の弱点は残ります。

WordPressの更新ボタンが届くのは、上の段だけ 管理画面の更新ボタンが届く WordPress本体 プラグイン テーマ サーバーの側(更新ボタンが届かない) PHP サーバーの基本のソフト PHPは、サーバーの側で別に新しくする
図3:WordPressの管理画面の更新ボタンが届く範囲と、届かない範囲。PHPはサーバーの側にあり、ボタンでは新しくならない。

「WordPressはいつも最新にしてある」は、PHPが新しいかどうかの答えになりません。 WordPressの更新を自社でやっている会社ほど、ここを取り違えやすくなります。次の章では、PHPの更新をだれが受け持つのかを見分けます。

PHPの更新はだれの仕事か:サーバーの種類と契約で見分ける

PHPを新しくするのがだれの仕事かは、サーバーの種類と、管理の契約で決まります。

1つ目は、レンタルサーバー(1台のサーバーを複数の利用者で分けて使うもの)を借りている場合です。PHPそのものはサーバー会社が用意しているので、修正はサーバー会社が当てます。ただし、レンタルサーバーでは、利用者が管理画面でPHPの版を選べることが多く、古い版を選んだままのときは、サポートが続いている版への切り替えが、利用者の側の操作になることがあります。どこまでをサーバー会社がやるかは会社によって違うので、サーバー会社のお知らせで確かめます。

2つ目は、サーバーを1台まるごと借りて、その上にPHPなどを入れて使う場合です(VPSやクラウドのサーバーなど。図では「自社で借りたサーバー」としています)。レンタルサーバーとの違いは、PHPを入れたのがサーバー会社ではなく、使う側だという点です。そのため、更新するのも、管理を頼んでいる会社か自社です。サーバー会社は、機械と、それを動かす基本のソフトまでを受け持つのが一般的で、その上に入れたPHPまでは受け持たないことがあります。

3つ目は、ホームページ作成サービス(用意されたひな形を選んで自分で作るサービス)の場合です。PHPのような裏側の仕組みは、サービスの側が受け持っています。サービスのお知らせを見ます。

PHPの更新を受け持つ先は、サーバーの種類で変わる サーバーの種類 PHPの更新を受け持つ先 レンタルサーバー サーバー会社が修正を当てる 古い版からの切り替えは、利用者が行うことも 自社で借りたサーバー (VPS・クラウド) 管理を頼んでいる会社か、自社 ホームページ作成サービス サービスの側 どれか分からなければ、作った会社に聞く
図4:PHPの更新を受け持つ先は、サーバーの種類によって変わる。どこまでを受け持つかは、サーバー会社のお知らせと管理の契約で確かめる。

サーバーの種類が分からないときや、管理を頼んでいる会社がどこまでやっているか分からないときは、作った会社か、管理を頼んでいる会社に、次の2つを聞きます。

聞くこと(問い合わせの例)答えを聞いたら
PHPの脆弱性のニュースを見て連絡しました。当社のホームページはPHPで動いていますか。動いている場合、PHPの版はいくつで、今回の修正は入っていますか第6章の表で、することを見る
PHPの更新は、いまの契約で、そちらのお仕事に含まれますか。含まれる場合、いつまでに対応いただけますか相手の仕事なら、その日までに確かめ直す。担当が決まっていなければ、頼むか自社でやるかを決める

返事を待つあいだに社内へ伝えるときは、「WordPressの更新だけでは、今回の対策が済んでいるかは分からない。作った会社に、PHPで動いているか、修正が入っているか、更新はだれの仕事かを確かめている」と、確かめている最中であることをそのまま伝えます。

PHPの更新は、サーバーの種類と契約で受け持つ先が変わるので、「だれがやるか」を相手に確かめてから動きます。 頼んでいるつもりで、だれも受け持っていなかった、ということも起こりえます。ホームページの管理の仕事を、サーバーの会社、管理を頼んでいる会社、自社のどこが受け持つかを分ける考え方は、ホームページの管理の記事で解説しています。PHPの更新は、その記事でいう「仕組みを新しくしておく」仕事の1つに当たります。

関連記事ホームページの管理とは?やることと、最初に確かめる契約・名義・期限

修正された版にする。すぐにできないときは、公開を止めるかを決める

PHPの版が分かったら、次の表で、何をすればいいかを見ます(2026年10月22日時点)。

いまの版状態すること
8.5サポート中(2029年12月31日まで)8.5.12以上にする
8.4サポート中(2028年12月31日まで)8.4.27以上にする
8.3サポート中(2027年12月31日まで)8.3.36以上にする
8.2サポート中(2026年12月31日まで)8.2.35以上にする。年内にサポートが終わるので、8.3以降へ上げることも考える
8.1以前公式の更新の対象外サポートが続いている版へ上げる。8.3以降を選ぶ。独自の修正が入っていても、上げる日を決める

8.1以前については、公式の更新の対象外ですが、今回は深刻さを考えて、7.4、8.0、8.1向けに最小限の修正も出ています。ただし、これはソースコードから自分でPHPを組み立てる技術者向けのものです。会社のホームページでは、サポートが続いている版へ上げるのが基本です。PHPの公式サイトのサポートの期限の一覧では、8.2のサポートは2026年12月31日で終わります。

版を上げるときは、同じ8.4の中で数字を上げる場合と、8.1から8.3へ上げるように、真ん中の数字が変わる場合とで、手間が違います。真ん中の数字が変わると、古いプラグインやテーマが動かなくなることがあります。そのため、上げる作業は、不具合が起きたときに元の状態へ戻せる人がやります。上げたあとは、主なページと問い合わせフォームを開いて、表示が崩れていないか、送信できるかを確かめます。

すぐに上げられないときは、サイトの公開を一時止めることも考えます。公式サイトには、設定を変えて攻撃の道を減らす方法も載っていますが、それだけでは安全にならないとしています。止めるかどうかは、いつ修正された版にできるかの見込みと合わせて、受け持つ相手と決めます。 相手と連絡がつかず、修正の見込みも立たないときは、サイトを止めて困ることと、止めずに待つあいだに攻撃を受けるおそれのどちらが重いかを、社内で決めます。

次に備える:PHPの更新を契約に入れる・公開側でPHPを動かさない作り

今回の件が片づいても、PHPの脆弱性は、また見つかることがあります。次に同じことが起きたときに慌てないために、2つのことを決めておきます。

1つ目は、PHPの更新をだれが受け持つかを決めて、管理の契約に書いておくことです。管理を頼んでいる会社に、月額料金に含まれている仕事を聞くときに、次の2つを足します。

  • PHPの版の更新は含まれているか
  • PHPに重大な脆弱性が出たとき、だれが、いつまでに修正を当てるか

答えは、契約の書類か、管理の仕事をまとめた一覧に書いておきます。8.2のように、サポートの期限が近い版を使っている場合は、いつ、だれが上げるかも、あわせて決めておきます。

2つ目は、ホームページを作り直すときの構成です。だれでも開ける公開サイトの側ではPHPを動かさず、あらかじめ書き出したファイルだけを配る作り方があります。記事やページを書く場所(管理画面)は、外から見えない側(決まった人しか入れない場所)に置きます。この作りでは、だれでも開ける公開サイトの側にPHPが無いので、攻撃される面が小さくなります。WordPressで作ったサイトをこの作りにするか、いまの作りのまま守りを固めるかの見分け方は、脱WordPressの記事で解説しています。

公開側でPHPを動かさないと、外から届く場所が減る 通常の構成 外から届く(1つのサーバー) 公開ページ 管理画面 PHP 公開側でPHPを動かさない構成 外から届く 公開サイト(書き出したファイルだけ) 外から見えない側(書く場所) 管理画面 PHP どちらの構成でも、書く場所のPHPの更新と、管理画面の守りは続く
図5:通常の構成と、公開側でPHPを動かさない構成。公開側でPHPを動かさない構成では、外から届くのは書き出したファイルを配る公開サイトだけになる。

ただし、守る仕事がなくなるわけではありません。書く場所がPHPで動いていれば、そちらのPHPの更新は続きます。管理画面に入るためのIDとパスワードなど、守るものも残ります。公開側でPHPを動かさない作りは、攻撃される面を小さくする作りで、更新の仕事をなくす作りではありません。 この作り方で何が減り、何を守る仕事が残るかは、ヘッドレスCMSの記事で解説しています。

関連記事ヘッドレスCMSとは?セキュリティの面で変わることと、自社に向くかの見分け方【テンプレート付き】

ARROWSの高セキュリティWebサイト制作

次にホームページを作り直すときに、第7章の作りを選びたい場合は、ARROWSの高セキュリティWebサイト制作という頼み方があります。記事やページを書く場所を外から見えない側に置き、公開サイトは書き出したファイルだけで配信する構成で作るサービスです。公開サイトの配信環境では、管理システムやデータベースを動かしません。

公開したあとの毎月の保守まで含めて頼めます。毎月の保守では、管理システム本体や追加機能、ファイルの書き出しに使うソフトウェアを更新し、何を確かめて何を直したかを毎月報告します。第7章の2つの問いは、ARROWSにもそのまま聞いてください。

この構成でも、第7章で書いたとおり、守る仕事は残ります。攻撃される面を小さくするための構成で、すべての被害を防げるわけではありません。

まとめ

PHPはWordPressの更新ボタンの外、サーバーの側にあります。更新がだれの仕事かを確かめておかないと、だれも新しくしないまま残ることがあります。今日のうちに、自社のサイトがPHPで動いているか、版はいくつかを見て、PHPの更新がだれの仕事かを確かめてください。自分で版を見られないときや、修正された版になっていないときは、受け持つ相手に聞きます。