PHPの脆弱性のニュースを見て、「うちのサイトは大丈夫なのかな」と気になった方へ。
2026年10月21日の夜(日本時間)、WordPressを動かしているプログラム言語「PHP」に、重大な脆弱性が2件見つかり、修正版が公開されました。認証なしで、外部から任意のプログラムを実行されるおそれがある、というものです。
この記事では、その日から数日のあいだに、保守を担当しているサイトで何を確認したのか、お客様にどうお伝えしたのかをまとめました。
この記事は、こんな方に向けて書いています。
・WordPressのサイトを持っているが、サーバーやPHPのことは自分では分からない方
・保守サービスを比較していて、「何かあったときに何をしてくれるのか」を知りたい方
そもそも、何が起きたのか
PHPは、WordPressの土台になっているプログラム言語です。レンタルサーバーに入っていて、サイトを表示するたびに動いています。
今回の脆弱性には、次のような特徴がありました。
・外部から、ログインなしでプログラムを実行される危険がある
・修正版は 8.5.12/8.4.27/8.3.36/8.2.35。8.1以下には公式の修正版がない
・修正版の公開前から、攻撃の試みが観測されていたという報告が複数ある
ただし、実際に侵入まで成功した件数の全体像は、調べた範囲では分かっていません。ここは「分からない」と書いておきます。
たとえるなら、こういうこと
WordPressのサイトを、マンションの一室にあるお店だとします。レンタルサーバーはマンション、サーバー会社は管理会社です。PHPは、建物に備え付けのオートロックにあたります。
今回見つかったのは、そのオートロックの不具合です。鍵を持っていない人でも、外からある操作をすると扉が開き、中の設備を勝手に動かせてしまう。しかも同じ仕組みのオートロックが、世界中のマンションで使われていました。
メーカー(PHPの開発元)は、直した部品を公開しました。交換するのは管理会社(サーバー会社)です。保守担当の仕事は、交換が本当に終わったかを確かめること。そして、交換までのあいだに誰かが入った跡がないかを見て回ることです。
1. まず、PHPの修正が反映されたかを確認しました
PHPの修正は、基本的にレンタルサーバーの会社が行います。保守担当がやることは、その修正が実際にサイトに反映されたかを確かめることです。
保守を担当しているサイトと自分のブログサイトを確認しました。サーバーは ConoHa WING、シンレンタルサーバー、エックスサーバーの3社です。
確認には、WordPressの管理画面にある「サイトヘルス」を使いました。
・エックスサーバー、シンレンタルサーバー: 8.3.36 を確認
・ConoHa WING: 8.3.35 を確認
ここで一つ、迷った点があります。ConoHa WINGのサイトだけ、修正版の 8.3.36 より前の番号が表示されていました。
数字だけを見ると「まだ修正されていない」と読めます。でも、ConoHa WINGの公式のお知らせ(「PHPの脆弱性への弊社対応完了のお知らせ(終報)」)を読むと、理由が書かれていました。
PHPのバージョンを変えずに、修正だけを取り込む方法で対応した
そのため、サイトヘルスには修正版の番号ではなく、従来の番号が表示される場合がある
マンションでたとえると、部品ごと取り替えずに中身だけを直したので、扉に付いている型番の表示は古いまま、という状態です。
ConoHa WINGでは、修正後も「8.3.35」のように修正版より前の番号が表示されることがあります。番号だけで判断せず、サーバー会社の公式のお知らせとあわせて確認しました。結果として、5サイトとも、修正が反映された状態を確認できました。
2. 侵入された形跡がないかを確認しました
修正が入る前の期間がある以上、「その間に何かされていないか」も見ておく必要があります。ここでは、あるクライアント様のサイトで行った確認をご紹介します。
・セキュリティプラグイン(Wordfence)のスキャン: 修正の前と後に2回。どちらも検出0件
・ユーザー一覧: 見覚えのないユーザーはいない
・画像などを置くフォルダ(uploads): 本来あるはずのないPHPファイルが置かれていない
・プラグイン・テーマ: 更新待ちのものはない
あわせて、ファイアウォールの記録も見ました。このサイトでは、直近7日間で1,970件のアクセスをブロックしていました。ほとんどはパスワードを総当たりで試すものです。脆弱性が公表された10月21日の前後で、攻撃が急に増えた様子は見えませんでした。
逆に言えば、何もない日でも、これだけのアクセスが毎日のように来ているということです。
3. 守りの設定とバックアップを確認しました
同じサイトで、万一に備えた設定も見直しました。
・サーバーのWAF(不正なアクセスを止める機能)がオンになっている
・サーバーの自動バックアップが、14日分そろっている
・保守側でも別にバックアップを取り、サーバーとは別の場所に保管している
・お客様のログインに2段階認証が設定されていなかったため、お客様と一緒に設定した
2段階認証は、パスワードが漏れたときの最後の守りです。今回の脆弱性とは直接関係しませんが、確認の中で見つかったので、その場で対応しました。
情報は、数時間で変わりました
今回いちばん気をつけたのは、断定しないことでした。
10月22日の午前から日中にかけて調べた時点では、ConoHa WINGのお知らせに、PHPの修正を適用したという告知は見当たりませんでした。サイトヘルスの表示も、修正版より古い 8.3.31 でした。この時点で書いた回答の下書きには、「修正版はまだ反映されていない」と書いていました。
同じ日の夕方以降、状況が変わります。ConoHa WINGの公式のお知らせで、次のことが分かりました。
・前日から行われていた緊急メンテナンスは、この脆弱性への対応だった
・同じ日に出ていたファイルマネージャーとWebメールの一時停止も、この対応のためだった
・10月22日 20時45分に、すべてのPHPバージョンへの修正の適用が完了した
翌日、サイトヘルスの表示が 8.3.35 に変わったのを確認しました。
「未適用」と書いた回答は、送る前だったので書き直しで済みました。最初の調査で書いた「攻撃に悪用された報告はまだない」という一文も、公開前から攻撃の試みが観測されていたと分かり、取り消しています。
緊急メンテナンスや機能の停止は、公式の説明が出るまで理由が分かりませんでした。そのあいだは「理由は公表されていない」とだけ書き、推測で結びつけないようにしていました。結果的に、それでよかったと思っています。
お客様へのお伝え方
ニュースを見て不安になったお客様から、ご質問をいただいていました。PHPの脆弱性のこと、サーバー会社の過去の不正アクセスのこと、更新やWAF、改ざん・情報漏えいの形跡、バックアップのことなど、6つの項目です。
回答は、2通に分けて送りました。
1通目は要約版です。
・結論
・確認できたこと
・お願いは1点だけ(迷惑メールフォルダの再確認)
・正直にお伝えしたいこと
・今後の対応
2通目は詳細版です。冒頭に「専門的な内容も含まれるので、お読みいただかなくても大丈夫です。気になる点があったときの控えです」と書きました。
文面では、次のことを守りました。
・「確認できた範囲では」と書き、言い切らない
・サーバー会社の発表は、公式の文言をそのまま引用する
・日付と時刻を入れる
要約版で、特に入れ忘れないようにしたことが2つあります。
一つは、修正が入る前の期間(10月22日 20時45分まで)も含めて確認し、形跡は見つかっていないこと。もう一つは、見つからなかったことは、「何もない」証明にはならないこと。
安心していただきたい気持ちはあります。それでも、言えないことまで言ってしまうと、あとで状況が変わったときに信頼を失います。
これからの保守で約束すること
今回の対応をきっかけに、お客様には次の方針をお伝えしました。
・重大な脆弱性が公表されたときは、月1回の更新を待たずに、数日以内にバージョンとスキャンを確認してご報告します
・サーバーやプラグインの修正そのものは提供元の対応次第なので、お約束するのは「確認とご報告」です
・確認とご回答は、保守の範囲内で行います。調査や復旧など追加の対応が必要な場合は、先に内容と金額をご案内し、了承をいただいてから進めます
各クライアント様の月次レポートにも、「PHPの重大な脆弱性への対応を確認」の一文を入れています。
ご自身でPHPのバージョンを見てみたい方へ
WordPressの管理画面から、次の順に開くと確認できます。
ツール → サイトヘルス → 情報 → サーバー → PHP バージョン
表示された番号が修正版より古い場合でも、サーバー会社の方法によっては修正済みのことがあります。判断に迷ったときは、ご契約中のサーバー会社のお知らせを確認するか、ご相談ください。
まとめ
保守の価値は、毎月のレポートの数字だけではないと、今回あらためて感じました。
こういう日に、何をどこまで確認したのか。何がまだ分からないのか。それを、正直に、早くお伝えすること。保守を任せていただく意味は、そこにあると思っています。
ニュースを見て不安になったときに、確認と報告まで任せられる相手がほしい方は、サービスページをご覧ください。
※この記事の内容は、2026年10月26日時点の情報です。サーバー会社のお知らせや脆弱性の情報は更新されることがあるため、最新の情報は各社の公式発表をご確認ください。