「PHPに重大な脆弱性」というニュース、見た瞬間に自分のWordPressは大丈夫かと不安になりましたよね。
今日やるべきことは、実はたった5つのステップです。
この記事では、PHPバージョンの確認方法から、更新時に起きがちな「重大なエラー」の対処まで、今すぐ動ける手順だけをまとめました。
難しい専門用語は一つずつ言い換えながら進めます。
2026年10月21日、PHP開発チームが重大な脆弱性2件(CVE-2026-109618/CVE-2026-109619、通称「php2shell」)を修正する緊急のセキュリティリリースを公開しました(出典: PHP公式)。深刻度はどちらもCVSS v4.0で9.2(最も深刻な区分の「Critical」)で、遠隔から勝手にプログラムを実行されてしまう恐れがあります。WordPressで動いているサイトも例外ではありません。
弊社でも公開の当夜に、管理しているサーバーのPHPの状況を確認し、自社で更新を担うサーバーには緩和策を当てたうえで修正版へ更新しました。「自分のサイトは大丈夫か」「何から手をつければいいか」という方に向けて、今日やるべきことを順番に解説していきます。
まず最初に伝えておきたいのは、php2shellへの対応に迷ったら無料相談も承っていますということです。不安を感じている段階でも、まずはPHPバージョンの確認から一緒に始められます。
PHPの「php2shell」とは?WordPressは危ないの?

PHP開発チームが重大な脆弱性2件を修正しました。遠隔からの攻撃でサイトを乗っ取られる恐れがあり、WordPressでの攻撃の再現も研究者が示しています。まずは「何が起きているか」を押さえておきましょう。
今回の脆弱性は、通称「php2shell」と呼ばれています。RCE(リモートコードエグゼキューション=遠隔からプログラムを勝手に実行されてしまうこと)につながる脆弱性で、攻撃者がサーバーを乗っ取る足がかりになりかねません。
研究者は、WordPress・Drupal・Joomlaに対する遠隔からのコード実行を示したと述べています(出典: ma.ttias.be)。GMO Flatt Securityも、mod_phpやphp-fpm、WordPress・Laravel・Symfonyなど様々な構成で攻撃が再現するとされている、と解説しています(出典: GMO Flatt Security)。
攻撃の入口の一つとされているのが「Session Upload Progress」という機能です。これはファイルのアップロード状況を表示する仕組みで、PHPの初期設定では有効になっています。GMO Flatt Securityによると、悪用を主張するコードもすでにネット上に出回り始めています。他人事では済まされない状況です。
とはいえ、むやみに不安がる必要はありません。「必ず乗っ取られる」わけではなく、PHPのバージョン次第で対応は大きく変わります。脆弱性そのものの技術的な仕組みをより詳しく知りたい方は、既存記事「PHPに重大な脆弱性、今すぐ確認すべきこと【CVE-2026-109618/109619】」で解説していますので、あわせてご覧ください。
次は、自分のサイトが対象かどうかを確かめる方法を見ていきましょう。
【最重要】自分のWordPressのPHPバージョンを確認する方法
PHPバージョンは、管理画面の「ツール」→「サイトヘルス」→「情報」タブで確認できます。表示されない場合は、レンタルサーバーの管理画面から確認する方法に切り替えます。ここを間違えると、対応の判断そのものがずれてしまうので、落ち着いて進めましょう。
サイトヘルスでの確認手順
▼PHPバージョンを確認する手順
サイトヘルスを開く
WordPress管理画面の左メニューから「ツール」→「サイトヘルス」を選びます。
情報タブに切り替える
画面上部の「状態」ではなく「情報」タブをクリックします。
サーバー項目を開く
一覧から「サーバー」をクリックして展開します。
PHPのバージョンを確認
「PHPのバージョン」という項目に表示された数字を控えます。
サイトヘルスが見当たらない時
サイトヘルスのメニューが見当たらない場合は、以下のいずれかが原因です。
- WordPress本体のバージョンが古く、サイトヘルス機能自体が搭載されていない
- 自分のユーザー権限が「管理者」ではなく、表示する権限がない
- セキュリティプラグイン等によってメニューが非表示になっている
この場合は、契約しているレンタルサーバーの管理画面にログインし、「PHP設定」「PHPバージョン管理」といった名称のメニューから確認してください。サーバー各社で画面名や操作が異なるため、不明な点は契約中のサーバー会社のサポートページを確認するのが確実です。
約36%が「修正版の出ないバージョン」で動いている現実
ここが今回の記事で一番伝えたいポイントです。WordPress公式の統計によると、WordPressサイトで動いているPHPのバージョンの割合は次のとおりです(2026年10月22日時点)。
| PHPバージョン | 割合 | 今回の修正版の有無 |
|---|---|---|
| 8.3 | 26.6% | あり(8.3.36) |
| 8.2 | 23.8% | あり(8.2.35) |
| 7.4 | 16.1% | 通常の修正リリースなし(最小限のパッチのみ) |
| 8.1 | 10.7% | 通常の修正リリースなし(最小限のパッチのみ) |
| 8.4 | 9.3% | あり(8.4.27) |
| 8.5 | 3.9% | あり(8.5.12) |
| 8.0 | 3.8% | 通常の修正リリースなし(最小限のパッチのみ) |
| 7.3以前 | 約5.7% | なし |
出典:WordPress公式統計(2026年10月22日に取得)、修正版はPHP公式
この表を合計すると、PHP 8.1以前で動いているWordPressサイトは約36%にのぼります。つまり、WordPressサイトの3つに1つ以上が、今回公式の修正版が用意されていないバージョンで稼働している計算です。自分のサイトがこの中に含まれていないか、まずは確認することが何より重要です。
なお、WordPressの最新版(7.1.3)が動くのに必要なPHPは7.4以上で、WordPress.orgが推奨しているのはPHP 8.3です(2026年10月22日時点・WordPress.org)。推奨の8.3より古い版で動いているサイトは、上の表を足すと全体の約6割にのぼります。
次は、確認したバージョンごとに「何をすべきか」を具体的に見ていきましょう。
自分のPHPバージョンで何をすべきか?判定と対応フロー

PHP 8.2〜8.5で動いているなら、修正版への更新で解決します。PHP 8.1以前は公式の修正版が出ないため、8.3以上への切り替えが必要です。まずは自分の状況がどちらに当たるかを、下の表で判定してください。
バージョン別の対応早見表
| 現在のバージョン | 状態 | やること |
|---|---|---|
| 8.5 / 8.4 / 8.3 / 8.2 | 修正版あり | サーバー側で該当の修正版へ更新する |
| 8.1 以前(8.1・8.0・7.4・7.3以前) | 修正版なし | 8.3以上への切り替えを急ぐ。7.4系には最小限のパッチのみ公開されている |
PHP 8.1以前の環境は、そもそも公式のサポート期限が切れているか、切れに近い状態であることが多いです。今回を機に、思い切って新しいバージョンへ切り替えることをおすすめします。
更新前に必ずやること
バージョンを切り替える前に、次の2点を済ませておきます。
- バックアップを取る:ファイル一式とデータベースの両方を保存します。多くのレンタルサーバーには自動バックアップ機能がありますが、手動でも必ずもう一つ取っておくと安心です。
- WordPress本体・テーマ・プラグインを最新化する:ここを飛ばすと、古いプラグインが新しいPHPに対応しておらず、「重大なエラー」が出る典型パターンにはまります。
切り替え方法
- 共用レンタルサーバーの場合:管理画面の中にPHPバージョンを選べる設定画面があります。画面の名称は各社で異なるため、契約しているサーバー会社のマニュアルを確認してください。
- VPSや自己管理サーバーの場合:OS側で提供されている修正版パッケージを適用し、php-fpm(PHPを処理するプロセス)を再起動します。利用しているOSやディストリビューションごとに提供される修正版パッケージを確認してください。
すぐに上げられない時の緩和策
サーバーの都合などで今すぐバージョンを上げられない場合、PHP公式が案内している緩和策があります。
- `session.upload_progress.enabled=0` を php.ini、またはFPMのプール設定に記述する(`.user.ini` や `ini_set()` では効かない点に注意が必要です)
- `post_max_size` を小さく絞る
ただし、共用レンタルサーバーでは利用者側でこれらの設定ファイルに触れないケースがほとんどです。その場合は、サーバー会社からの対応告知を待つ形になります。
PHPバージョンの切り替え作業やプラグインとの互換性確認に不安がある方は、切り替え作業を含めて一度ご相談ください。費用や作業範囲が気になる段階でも、まずは現状をお聞かせいただければと思います。
続いて、実際に更新した後によく起きるトラブルへの対処を見ていきましょう。
「重大なエラー」「ログインできない」が起きたら?

古いプラグインが新しいPHPに対応していないことが主な原因です。まずは元のバージョンに戻し、原因のプラグインを一つずつ無効化して探していきます。焦って色々触る前に、落ち着いて切り分けることが解決への近道です。
更新後にまず確認すべき3箇所
- トップページと主要な下層ページの表示
- お問い合わせフォームの送信動作
- 管理画面へのログイン
「このサイトで重大なエラーが発生しました」が出た時
このメッセージが表示された場合、WordPressは管理者宛に「リカバリーモード」のリンクが入ったメールを自動送信します。まずこのメールを確認し、リンクからリカバリーモードに入って、原因になっていそうなプラグインを一つずつ無効化していきます。原因が特定できたら、そのプラグインの提供元に最新版が出ていないか確認してください。
ログインできない時の切り分け
管理画面にログインできなくなった場合も、プラグインの互換性問題が原因であることが多いです。FTPやサーバーのファイル管理画面から `wp-content/plugins` フォルダにアクセスし、プラグインのフォルダ名を一時的に変更すると、該当プラグインを強制的に無効化できます。この状態でログインできれば、原因のプラグインが特定できたことになります。
ここまでの作業を自分でやるのが不安な方は、無理に一人で抱え込まず、サーバー会社や制作会社に相談する選択肢もあります。
【独自】弊社が公開当夜に確認・対応したこと

弊社では2026年10月21日の公式発表の前から、管理しているサーバーのPHPの版を確認しました。自社で更新を担うサーバーでは、作業の前に設定とパッケージの控えを取っています。
発表の直後に `session.upload_progress.enabled=0` の設定を当てて攻撃の入口になりうる機能を塞ぎ、OSの修正版が配布されたところでPHPを更新しました。更新の後は、サイトの各ページが更新前と同じように表示されることを確かめています。確認を始めてから更新と動作確認を終えるまで、約2時間でした。
この経験から、WordPress運営者の方にもおすすめしたいのが、次の6ステップです。自分でもできる範囲の作業ですが、手順を整理しておくと迷いが減ります。
| ステップ | やること | 目安時間 |
|---|---|---|
| 1 | サイトヘルスでPHPバージョン確認 | 3分 |
| 2 | バージョン別の対応早見表で判定 | 1分 |
| 3 | バックアップ取得 | 10〜30分 |
| 4 | プラグイン・テーマ更新 | 10分 |
| 5 | PHPバージョン切り替え | 5〜15分 |
| 6 | 動作確認(表示・フォーム・ログイン) | 5分 |
合計すると、トラブルなく進められれば1時間弱で一通りの対応が終わる計算です。もちろんプラグインとの相性問題が出た場合は、もう少し時間がかかります。
レンタルサーバーを使っている人へ

多くのレンタルサーバーでは、管理画面からPHPバージョンを切り替えられます。切り替え前後の注意点はどのサーバーでも共通です。ここでは、国内での対応状況と合わせて見ていきましょう。
共用サーバーでの一般的な流れ
共用レンタルサーバーの多くは、管理画面内に「PHP設定」や「PHPバージョン管理」といった項目を用意しています。契約しているサーバーの公式サポートページで、最新の操作手順を確認してから作業を進めてください。画面の名称や位置は各社で異なるため、ここでは断定を避けます。
国内での緊急対応の動き
2026年10月21日時点の報道によると、複数の国内サービスが緊急メンテナンスを実施・予告しています(出典: Yahoo!ニュース/ITmedia NEWS)。
レンタルサーバーでも、一部の事業者が緊急のメンテナンスを告知しています。
業界全体でこれだけ迅速な対応が進んでいることからも、今回の脆弱性の深刻度の高さがうかがえます。自分の契約しているサーバー会社からも告知が来ていないか、念のためメールやお知らせ欄を確認しておくと安心です。
侵入されていないか、念のため確認したいこと

見覚えのない管理者ユーザーやファイルが無いかを確認しましょう。サーバー会社からの告知も必ずチェックしてください。対応が済んだ後も、念のため次の点を見ておくと安心です。
- 管理者ユーザーの確認:「ユーザー」の一覧画面を開き、自分で作成した覚えのない「管理者」権限のアカウントが無いかを確認します。見慣れないユーザー名があれば、すぐに削除してパスワードも変更してください。
- 見覚えのないファイル・プラグインの確認:FTPやファイル管理画面で、`wp-content/plugins` や `wp-content/themes` の中に、インストールした覚えのないフォルダが無いかを見ます。
- サーバー会社の告知確認:契約しているサーバー会社から、今回の脆弱性に関する告知やメンテナンス予定が出ていないか確認してください。GMO Flatt Securityも、攻撃を受けていないかログを調べることを勧めています(出典: GMO Flatt Security)。
不審な点が見つかった場合は、無理に自己判断で削除・修正を進めず、サーバー会社やセキュリティの専門業者に相談することをおすすめします。
まとめ:今日やることチェックリスト

今回のphp2shellへの対応は、難しく考える必要はありません。次の5ステップを順番に進めれば大丈夫です。
- PHPバージョンを確認する(サイトヘルス、または契約サーバーの管理画面)
- 対応早見表で「修正版あり/なし」を判定する
- バックアップを取る(ファイル+データベース)
- WordPress本体・テーマ・プラグインを最新化してから、PHPバージョンを切り替える
- 表示・フォーム・ログインの動作を確認する
特に重要なのは1番目と2番目です。WordPress公式の統計では、約36%のサイトがPHP 8.1以前の「修正版が出ないバージョン」で動いています。自分のサイトがどちらに当たるのか、まずはここを確かめることから始めてください。
よくある質問(FAQ)
Q1. WordPressを使っていれば必ず攻撃されますか?
A1. 必ずではありません。PHP 8.1以前の修正版が出ないバージョンで動いている場合にリスクが高まります。まずは自分のPHPバージョンを確認することが先決です。
Q2. PHPのバージョンはどこで確認できますか?
A2. 管理画面の「ツール」→「サイトヘルス」→「情報」タブの「サーバー」項目で確認できます。表示されない場合はレンタルサーバーの管理画面から確認してください。
Q3. サイトヘルスが見当たりません。なぜですか?
A3. 古いWordPressのバージョンや権限設定、プラグインによって非表示になっているケースが多いです。その場合はレンタルサーバーのPHP設定画面を確認してください。
Q4. PHPバージョンアップで「重大なエラー」が出ました。どうすればいいですか?
A4. 古いプラグインが新しいPHPに対応していないことが主な原因です。一度元のバージョンに戻し、プラグインを一つずつ無効化して原因を探してください。
Q5. バージョンアップ後にログインできなくなりました。どうすればいいですか?
A5. プラグインの互換性問題が原因であることが多いです。WordPressのリカバリーモードのメールが管理者宛に届いていないか確認してください。
Q6. すぐにPHPを更新できない場合、他にできることはありますか?
A6. php.iniやFPMのプール設定でsession.upload_progress.enabled=0にする緩和策があります。ただし共用レンタルサーバーでは利用者側で設定できないことが多く、サーバー会社の対応を待つ形になります。
Q7. レンタルサーバーを使っている場合はどう対応すればいいですか?
A7. 管理画面からPHPバージョンを切り替えられるサーバーが多いです。各社のサポートページで最新の操作手順を確認してください。
ここまで読んで、自分でバージョン確認や切り替え作業を進める方もいれば、「やっぱり専門家に任せたい」と感じた方もいると思います。PHPのバージョン管理や、プラグインとの互換性確認、WordPressサイトの保守運用そのものを継続的に任せたいという方は、Web制作・SEO(保守運用含む)でサポートしています。
今日の対応に迷ったら、まずは現状をお聞かせください。無料相談からお気軽にお問い合わせいただけます。























コメント