2026年10月21日、PHPの開発チームが「php2shell」と呼ばれる重大な脆弱性を含むセキュリティアップデートを緊急リリースしました。
この脆弱性は、認証なしでサーバー上のコードを実行できる(RCE:リモートコード実行)というもので、CVSSスコアは最高レベルの9.2。世界中のWebサイトの約70%はPHPで動いており、WordPressはもちろん、WooCommerce、Drupal、Joomla、Laravelなどを使うサイトすべてが影響を受けます。
セキュリティ企業Wizの調査では、最新のWordPress・Drupal・Joomlaコンテナを使った環境で実際に攻撃が再現できることが確認されました。さらにパスワード・APIキー・証明書などが外部に漏れるメモリ開示の経路も確認されており、被害は多岐にわたります。
| 🚨 攻撃はすでに始まっています
Cloudflare・Akamaiなど複数のセキュリティ企業が、攻撃の試行・無差別スキャンを観測したと報告しています。悪用コードもインターネット上に公開済みです。「後で対応しよう」では手遅れになる可能性があります。 |
■ 脆弱性の正体:なぜこれほど危険なのか
php2shellは、PHPエンジン(PHP本体)に存在する2種類のメモリ管理の欠陥です。WordPressのプラグインやテーマの問題ではなく、PHPというプログラミング言語そのものの深部に潜む欠陥であるため、特定のプラグインを無効化したり、WordPressをアップデートしたりしても根本的な解決にはなりません。
この脆弱性は、実はPHP 5.4(2012年リリース)にまで遡る設計上の問題が原因で、14年以上にわたってコードに潜んでいたことになります。今回、AIを活用したセキュリティ企業Wizの調査によって発見・報告されました。
CVE-2026-109618:OOM(メモリ不足)による破壊
PHPがメモリ制限に達した際に処理が強制中断されると、内部データが不完全な状態でヒープ(作業メモリ)に残留します。次のリクエストを処理した際に、このゴミデータが有効な命令として扱われ、攻撃者が任意のコードを実行できる状態になります。
CVE-2026-109619:古い状態の再利用(Use After Free)
リクエスト処理後に解放されるはずのメモリが、特定の条件下で次のリクエストに引き継がれてしまいます。攻撃者はこの仕組みを意図的に引き起こし、サーバーを制御下に置くことができます。デフォルトで有効なSession Upload Progress機能が主要な攻撃経路として確認されています。
特に危険な点として、Cisco Talosの分析ではApache mod_php環境では、WordPressのコードが1行も実行される前に攻撃が成立することが確認されています。つまりWAF(Webアプリケーションファイアウォール)による防御も限定的な効果しかありません。
■ あなたのWordPressサイトは大丈夫か?まず確認すること
ステップ1:WordPress管理画面でPHPバージョンを確認する
最も手軽な確認方法です。以下の手順で確認してください。
- WordPress管理画面にログイン
- 左メニューから 「ツール」→「サイトヘルス」 をクリック
- 「情報」タブ をクリック
- 「サーバー」 の欄を展開 →「PHPバージョン」を確認
確認すべき点:表示されているバージョンが8.2.35以上になっていれば、今回の脆弱性に対するパッチが適用されている可能性が高いです。
ステップ2:レンタルサーバー・ホスティングの管理画面を確認する
多くのレンタルサーバーでは、サーバー管理画面からPHPバージョンを切り替える機能が提供されています。主要サービスの確認・変更場所の例:
- エックスサーバー:サーバーパネル → PHP Ver.切替
- さくらのレンタルサーバー:コントロールパネル → スクリプト設定 → PHPのバージョン選択
- ConoHa WING:管理画面 → サイト管理 → PHP設定
- ロリポップ!:ユーザー専用ページ → サーバーの管理・設定 → PHP設定
レンタルサーバーをご利用の方へ:多くの場合、各社がすでに修正版パッケージを用意しています。管理画面のお知らせやサポートページで対応状況を確認してください。
ステップ3:ホスティング会社のアナウンスを確認する
VPS・専用サーバー・クラウドサーバーをお使いの場合は、ディストリビューション(Ubuntu・CentOS・AlmaLinuxなど)のパッケージを更新します。Ubuntuはすでに修正パッケージを公開しています。
■ 影響を受けるPHPバージョンと修正版一覧
| PHPバージョン | 修正バージョン | 公式サポート | 対応方針 |
| 8.5.x | 8.5.12 | ✅ あり | 8.5.12へ更新(最推奨) |
| 8.4.x | 8.4.27 | ✅ あり | 8.4.27へ更新 |
| 8.3.x | 8.3.36 | ✅ あり | 8.3.36へ更新 |
| 8.2.x | 8.2.35 | ✅ あり | 8.2.35へ更新(※移行注意) |
| 8.1.x | ―(EOL) | ❌ 終了 | ベンダーパッチ確認 or 移行 |
| 8.0以下 7.x / 5.x | ―(EOL) | ❌ 終了 | LTSベンダーへ問合せ、早急に移行 |
| ⚠ PHP 8.1以下をお使いの方へ(特に重要)
PHP 8.1はPHPプロジェクトの公式サポートが終了(EOL)しています。PHPチームからのセキュリティアップデートは今後提供されません。 今すぐできること:①ご利用のディストリビューションやホスティング会社がバックポートパッチを提供しているか確認する ②サポートされているバージョン(8.2以上)への移行計画を立てる PHP 8.0・7.x・5.xをご利用の方は最高リスクです。公式パッチは存在しないため、移行を最優先に検討してください。 |
■ 緊急の暫定対策(すぐにアップデートできない場合)
| 重要:これは完全な解決策ではありません
以下の設定は攻撃リスクを「軽減」するものですが、すべての攻撃経路を防げるわけではありません。設定変更後も必ずPHPのアップデートを実施してください。 |
php.iniへの設定追加
サーバーのphp.ini(またはFPMプールの設定)に以下を追記し、Webサーバーを再起動してください。
; CVE-2026-109619対策 session.upload_progress.enabled = 0 ; CVE-2026-109618対策 memory_limit = -1 ; PHP 8.5のみ追加 fatal_error_backtraces = 0
注意点:ini_set()での変更は効果がありません。php.iniやFPMプールの設定ファイルへの記載が必須です。設定後はすべてのワーカープロセスを再起動してください。
その他の追加対策
- post_max_sizeを制限:ファイルアップロード不要なら 8M、必要でも 32M 程度に設定
- Webサーバー・プロキシ側でのリクエスト制限:ヘッダー数、入力フィールド数、multipartパート数などを制限
- コンテナ・cgroupのメモリ制限:影響を受けたワーカーのみを終了させるポリシーで設定
■ PHPバージョンアップ時の重要な注意点
| ⚠ 急なバージョンアップでサイトが壊れることがあります
PHPを大幅にバージョンアップすると(特に7.x→8.x)、テーマやプラグインが新バージョンに対応していない場合、サイトが真っ白になる(ホワイトアウト)・管理画面にアクセスできなくなるなどの症状が発生することがあります。 |
バージョンアップ前の必須チェックリスト
- バックアップを必ず取得:データベース(MySQL)+ファイル一式を取得。可能なら更新直前にも実施
- プラグイン・テーマの互換性確認:各プラグインの公式ページで対応PHPバージョンを確認。特にionCube Loaderを使用している場合は要注意
- ステージング環境で先にテスト:本番環境に適用する前に、テスト環境で動作確認を実施
- WordPress本体・プラグインを最新版に更新:バージョンアップ前にWordPress本体とプラグインを最新化しておく
- エラーログを確認:更新後はlog や PHP エラーログに目を通す
- ロールバック手順を確認:問題が発生した際に旧バージョンへ戻せるか事前に確認
よくある症状と原因
アップデート後に以下の症状が出た場合、プラグイン・テーマの非互換が原因の可能性が高いです。
- 画面が真っ白(ホワイトアウト)
- 500 Internal Server Error
- 管理画面にアクセスできない
- 一部ページのみ表示が崩れる
- deprecated警告・Fatalエラーが表示される
対処法:まず全プラグインを無効化して再確認し、一つずつ有効化して原因プラグインを特定します。自己対応が難しい場合は専門業者への相談が確実です。
■ 自分でできない・不安な方は専門業者へ
「PHPのバージョンを上げたらサイトが壊れた」「改ざんされているかもしれない」「ホスティング会社が何をしているかわからない」——そのような場合は、WordPress復旧の専門業者に依頼するのが最も安全で確実です。
脆弱性の対応には技術的な知識が必要で、誤った手順で作業すると被害が拡大することもあります。費用はかかりますが、サイトのデータや評判を守るためのコストとして考えることをお勧めします。
WPプロサポ
WordPressのトラブル対応・セキュリティ対策・保守管理に特化した専門サービスです。マルウェア除去・改ざん復旧・PHPバージョンアップ対応など、幅広いサポートを提供しています。レンタルサーバーからVPS・専用サーバーまで対応可能で、急なトラブルにも迅速に対処してもらえます。
公式サイト:https://wp-pro-support.portal-th.com/
WordPress復旧センター
WordPressサイトの緊急復旧に特化した専門サービスです。ハッキング被害・表示崩れ・アップデート後の不具合など、スピーディな対応を強みとしています。「何から手を付ければいいかわからない」という場合でも、状況を整理しながらサポートしてもらえます。
公式サイト:https://wp-recovery.webrusu.com/
| 依頼前に必ず確認を
・ 複数社から見積もりを取り、対応範囲・費用・実績を比較する ・ 契約内容を明確に:「何をしてもらえるか」「どこまでがサポート範囲か」を事前に確認 ・ 緊急の場合でも冷静に:焦りにつけ込んだ詐欺的な業者も存在します。実績・評判を確認してから依頼を |
■ まとめ:今すぐやること
php2shellは、WordPressサイト運営者にとって14年ぶりとも言えるレベルの重大な脅威です。攻撃はすでに観測されており、一刻も早い対応が求められています。
今すぐやること・チェックリスト
- PHPバージョンを確認:WordPress管理画面「ツール→サイトヘルス→情報→サーバー」
- 修正版へ更新:5.12 / 8.4.27 / 8.3.36 / 8.2.35 のいずれかへ
- バックアップを取得:更新前に必ずデータベース+ファイルをバックアップ
- プラグイン互換性を確認:特にメジャーバージョンが変わる場合は事前にテスト環境で確認
- 暫定対策を適用:すぐに更新できない場合はiniの設定変更で攻撃リスクを軽減
- 不安な場合は専門業者へ:WP Pro Support・WordPress復旧.comへの相談を検討
「自分のサーバーは大丈夫だろう」という油断が最大のリスクです。PHPのバージョン確認だけでも、今すぐ実施してください。
参考・出典
[1] PHP公式セキュリティアドバイザリ(php.net)

[2] GMO Flatt Security Blog — php2shell概要と対応指針

[3] Wiz — PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet

[4] Tenable — php2shell FAQ

[5] Help Net Security — PHP2Shell: Critical PHP vulnerabilities patched

[6] Ubuntu公式 — php2shell脆弱性修正についての発表

[7] note — PHPの脆弱性(php2shell)についてまとめ(Ryuga Sagawa)
