PHPの緊急脆弱性(CVE-2026-109618/109619)に、PHP5・PHP7のWordPressサイトを最新版へ移行して対応した事例
2026年10月に公表されたPHPの緊急脆弱性「CVE-2026-109618」「CVE-2026-109619」は、PHP 8.1以前には公式の修正版が出ません。他社が構築したPHP5・PHP7環境のWordPressサイト2社分を、約2日でPHP・MySQLとも最新版へ移行し、サーバーレス環境で動作させた事例を紹介します。
結論:PHP 8.1以前のサイトは、バージョンアップ以外に根本的な対策がありません
2026年10月に公表されたPHPの脆弱性「CVE-2026-109618」「CVE-2026-109619」(通称:PHP2Shell)は、深刻度がCVSS 9.2の「緊急」に分類され、ログインなしで外部からプログラムを実行される恐れがあるものです。すでに攻撃に悪用されたという報告も出ています。
PHPの開発チームは修正版(8.5.12/8.4.27/8.3.36/8.2.35)を公開しましたが、サポートが終了したPHP 8.1以前には公式の修正版が出ません。特にPHP 7.3以前やPHP 5には修正そのものがありません。また、設定の変更だけでは完全に防げないとされているため、古いPHPで動いているWordPressサイトは、PHPを最新版へ上げることが唯一の根本的な対策になります。
DatumWorksでは今回、他社が構築したWordPressサイト2社分について、この対応を約2日で完了しました。
今回対応したサイトの状況
| 項目 | 対応前 | 対応後 |
|---|---|---|
| PHP | PHP5・PHP7(サポート終了・修正対象外) | 最新版のPHP |
| MySQL | 古いバージョン | 最新版のMySQL |
| WordPress | 古いPHPに合わせた構成 | 最新のPHPで動作することを確認 |
| 動作環境 | 従来のサーバー | サーバーレス環境 |
| 対応期間 | - | 2社で約2日 |
どちらのサイトも、DatumWorksが開発したものではありません。「作った会社と連絡が取れない」「どこを触ればよいか分からない」という状態でも、現在のサイトの中身を調べるところから対応しています。
古いPHPのWordPressを最新版へ上げるときの注意点
PHP5やPHP7から最新のPHPへ一気に上げると、そのままでは画面が真っ白になったり、一部の機能が動かなくなったりすることがあります。原因の多くは次のとおりです。
- 古いPHPでしか動かない書き方が、テーマやプラグインに残っている
- 更新が止まったプラグインが、新しいPHPに対応していない
- WordPress本体が古く、新しいPHPで動くバージョンまで上げる必要がある
- データベース(MySQL)の文字コードや設定が古い
そのため、本番のサイトをいきなり更新するのではなく、サイトを丸ごと複製した検証環境で動作を確かめてから切り替えることが大切です。
対応の流れ
- 現状の調査:PHP・MySQL・WordPress本体・テーマ・プラグインのバージョンと構成を確認します
- バックアップ:ファイルとデータベースを丸ごと保存し、いつでも元に戻せる状態にします
- 検証環境での更新:最新のPHP・MySQLで動かし、エラーが出る箇所を修正します
- 表示・機能の確認:主要なページ、お問い合わせフォーム、管理画面の操作を確認します
- 本番の切り替え:サイトを止める時間をできるだけ短くして切り替えます
MySQLも同時に最新版へ
PHPだけを新しくしても、データベースのMySQLが古いままではサポート切れのリスクが残ります。今回はPHPと合わせてMySQLも最新版へ更新し、サイト全体をサポートが続くバージョンにそろえました。PHPとMySQLを別々に更新するよりも、確認作業が一度で済むため、結果として期間と費用を抑えられます。
サーバーレス環境へ移行し、脆弱性に強い構成に
さらに今回は、WordPressをサーバーレス環境で動作させるように移行しました。
従来のサーバーでは、サーバーそのもの(OSやソフトウェア)の更新を自分たちで続ける必要があり、更新が止まると今回のような脆弱性がそのまま残ってしまいます。サーバーレス環境では、土台となる部分の管理をクラウド側に任せられるため、
- サーバーのOSやソフトウェアの更新漏れが起きにくい
- 外部から攻撃される入り口を減らせる
- アクセスが増えても自動で対応できる
といった点で、少しでも脆弱性に強い環境にすることができます。「今回は乗り切れたが、次に同じことが起きたら困る」という不安を減らすための対応です。
よくある質問
Q. 自社のサイトのPHPのバージョンが分かりません。どうすれば確認できますか? WordPressの管理画面の「ツール」→「サイトヘルス」→「情報」→「サーバー」でPHPのバージョンを確認できます。管理画面に入れない場合は、レンタルサーバーの管理画面でも確認できます。分からない場合は、URLをお知らせいただければこちらで確認します。
Q. 他社が作ったWordPressサイトでも対応してもらえますか? はい、対応できます。今回の2社のサイトも他社が構築したものです。現在のサイトの中身を調査したうえで、バージョンアップと動作確認を行います。
Q. PHPを更新している間、サイトは止まりますか? 検証環境で動作を確かめてから本番を切り替えるため、サイトが止まる時間はごく短く抑えられます。
Q. どれくらいの期間で対応できますか? サイトの規模やプラグインの数によりますが、今回は2社分を約2日で対応しました。緊急の場合はご相談ください。
まとめ
PHP 8.1以前で動いているWordPressサイトは、今回の脆弱性に対して公式の修正が出ないため、PHPを最新版へ上げることが必要です。DatumWorksでは、他社が構築したサイトでも、PHP・MySQLの最新版への更新から、サーバーレス環境への移行まで一貫して対応します。
「うちのサイトは大丈夫だろうか」という確認だけでもかまいません。お気軽に保守・改修のご相談からご連絡ください。