Server rack enclosed by a glowing blue digital cybersecurity shield

PHP2Shell(CVE-2026-109618 / CVE-2026-109619): サイトの PHP を今すぐ更新してください

PHP 本体の重大な脆弱性 2 件(通称 PHP2Shell)の修正版が、2026 年 10 月 21 日に公開されました。PHP 8.2〜8.5 をお使いなら修正版以上へ、PHP 8.1 以前なら PHP 8.3 以上へ、すぐに更新してください。多くのレンタルサーバーは、すでにサーバー側で修正を当てています。修正済みかどうかは、お使いのサーバー会社のお知らせで確かめられます。

何が起きたか

PHP 本体に、認証なしで外部からサーバー上のコードを実行される脆弱性が 2 件見つかりました。公開された攻撃例では、認証のない 1 回のリクエストで、WordPress などのアプリケーションのコードが動く前に攻撃が成立します(php.net)。

CVE内容深刻度
CVE-2026-109618メモリの上限(memory_limit)を超えたときの処理で、作りかけのリクエストデータを後片付けの処理が扱ってしまう。ファイルアップロードのフォームを解析している途中などに起きるCVSS v4.0 で 9.2
CVE-2026-109619解放済みのメモリを指す内部の状態が残り、同じプロセスが次に受けたリクエストがそれを使ってしまう。致命的なエラーの後などに起きるCVSS v4.0 で 9.2
  • 影響を受けるのは、Web のリクエストを処理するすべての PHP です(PHP-FPM、Apache の mod_php、php-cgi、FrankenPHP、LiteSpeed)。PHP の開発チームは、mod_php の構成が最も危険だとしています。
  • 攻撃コードの試作(PoC)が出回り始めています(CERT-EU、10 月 21 日)。公開前の 10 月 17 日に悪用の試みを観測したという Amazon の報告もあります(Help Net Security、10 月 22 日の追記)。
  • PHP の設定(memory_limit など)を変えても、サイトは安全になりません。php.net は、完全な回避策は無く、更新だけが安全な選択だとしています。

対象の PHP と修正版

お使いの PHP が下の表の「修正版」より古ければ、更新が必要です。修正版は 2026 年 10 月 21 日に公開されました。

PHP の系列修正版セキュリティサポートの終了
8.58.5.12 以上2029 年 12 月 31 日
8.48.4.27 以上2028 年 12 月 31 日
8.38.3.36 以上2027 年 12 月 31 日
8.28.2.35 以上2026 年 12 月 31 日
8.1 以前公式の修正版なし終了済み
8.6(開発版)8.6.0RC4 以降—

PHP 8.6 はまだ開発中で、php.net は本番のサイトで使わないようにとしています。出典: php.net のリリース告知、php.net Supported Versions

PHP のバージョンを確かめる

WordPress の管理画面で、今の PHP のバージョンを確かめられます。

  1. 管理画面の「ツール」→「サイトヘルス」を開く
  2. 「情報」タブを開く
  3. 「サーバー」を開き、「PHP バージョン」の行を見る

WooCommerce をお使いなら、「WooCommerce」→「ステータス」の「サーバー環境」にも同じ値が出ます。レンタルサーバーの管理画面でも確かめられます。

PHP を更新する

レンタルサーバーでは、管理画面で PHP のバージョンを切り替えれば更新できます。切り替える前に、次の準備をしてください。

  1. サイトのファイルとデータベースのバックアップを取る
  2. WordPress 本体、テーマ、プラグインを最新にする
  3. 使っているテーマとプラグインが、切り替え先の PHP に対応しているか確かめる
  4. できれば、ステージング環境で先に試す

切り替えた後は、サイトヘルスで PHP のバージョンを確かめます。そのうえで、サイトの表示、カートから購入手続きまでの流れ、管理画面の操作を確かめてください。不具合があれば、元のバージョンに戻せます。ただしロリポップ! では、PHP 7.1 未満から上げると元に戻せません。

主なレンタルサーバーの手順と対応状況

多くのレンタルサーバーが、すでにサーバー側で修正を当てています(2026 年 10 月 23 日更新、各社のお知らせより)。修正を当てた会社も、サポートが続く PHP への移行をすすめています。

サーバーPHP の切り替え方今回の脆弱性への対応
エックスサーバーサーバーパネル →「PHP Ver.切替」PHP 5.6〜8.5 は全サーバーに修正を適用済み。5.5 以下は修正を作成・検証中
シン・レンタルサーバーサーバーパネル →「PHP Ver.切替」PHP 5.6〜8.5 は全サーバーに修正を適用済み。5.5 以下は修正を作成・検証中
ConoHa WING「サイト管理」→「サイト設定」→「応用設定」→「PHP設定」提供中のすべての PHP に修正を適用済み(10 月 22 日完了)。表示されるバージョン番号は変わらない。お客様の操作は不要
さくらのレンタルサーバ「スクリプト設定」→「言語バージョン設定」選べるすべての PHP に修正を適用。急いで操作する必要はなし
ロリポップ!「サーバーの管理・設定」→「PHP設定」8.2〜8.5 は修正版へ更新、7.4〜8.1 は開発元の修正、それより古いバージョンは独自の修正を適用
mixhostcPanel →「MultiPHP マネージャー」すべての PHP に修正を適用。表示されるバージョン番号は変わらない

VPS や専用サーバーをご自身で管理している場合は、OS のパッケージを更新するか、php.net の修正版に入れ替えてください。

PHP 8.1 以前・8.2 をお使いの場合

PHP 8.1 以前には、PHP の開発元から修正版が出ていません。PHP 8.3 以上へ、早急に更新してください。

  • PHP の開発元は、7.4・8.0・8.1 向けに最小限の修正をソースコードだけで公開しています(php.net)。レンタルサーバーや Linux ディストリビューションが、これを使って個別に修正を当てている場合があります。
  • その場合でも、公式サポートが終わった PHP には、今後見つかる脆弱性の修正が出ません。サポート期間が長い PHP 8.3 以上へ移ってください。

PHP 8.2 には 8.2.35 で今回の修正が入りましたが、2026 年 12 月 31 日でセキュリティサポートが終わります。まず 8.2.35 以上へ更新し、年内に PHP 8.3 以上へ移ってください。

Japanized for WooCommerce の最新版は PHP 8.3 以上が必要です。PHP 8.2 以前のサイトには、プラグインの更新も届きません。

バージョン番号が変わらない修正

バージョン番号が修正版より古くても、修正が当たっている場合があります。Linux ディストリビューションや長期サポートの提供元は修正を事前に受け取っており、修正済みのパッケージを出しています(php.net)。こうしたパッケージやサーバー会社の個別の修正では、表示される PHP のバージョン番号が、修正版の番号に上がらないことがあります。

たとえば mixhost は、修正を当てた後もサイトヘルスや phpinfo には元の番号(例: 8.4.26)が表示されると案内しています(mixhost のお知らせ)。

  • レンタルサーバーをお使いの場合: サーバー会社のお知らせを見るか、サポートに問い合わせて、CVE-2026-109618 と CVE-2026-109619 の修正が入っているか確かめてください。
  • VPS や専用サーバーをご自身で管理している場合: OS のセキュリティ情報で修正済みのパッケージを確かめて更新し、PHP-FPM や Web サーバーを再起動してください。再起動するまでは、古い PHP が動き続けます。

修正済みだと確かめられたら、管理画面のお知らせは「今後表示しない」で閉じてかまいません。

Japanized for WooCommerce の管理画面のお知らせについて

PHP が修正版より古いサイトでは、管理画面にこの記事へのリンク付きのお知らせが出ます。PHP を修正版以上にすれば、お知らせは出なくなります。

誰に表示されますか?

サイト管理者(設定を変更できるユーザー)だけです。ショップマネージャーや編集者には表示されません。マルチサイトでは、PHP を変えられる特権管理者だけに表示されます。

どの画面に表示されますか?

管理画面の各画面です。投稿やページを編集するブロックエディターと、カスタマイザーには表示されません。

「今後表示しない」を押すとどうなりますか?

押したユーザーには、PHP のバージョンが同じ間は表示されません。ほかの管理者には引き続き表示されます。右上の×や Esc キーで閉じた場合は、次の画面でまた表示されます。

閉じたのにまた表示されたのはなぜですか?

PHP のバージョンが変わったのに、まだ修正版より古いためです。上の表の修正版以上へ更新してください。

サーバー会社が修正済みなのに表示されます。

お知らせは PHP のバージョン番号だけで判断しているためです。修正済みだと確かめられたら、「今後表示しない」で閉じてください。

複数のプラグインから同じお知らせが出ますか?

出ません。当社の複数のプラグインが同じお知らせを入れていても、表示は 1 つだけです。どれか 1 つで「今後表示しない」を押せば、すべてに効きます。

参考情報