PHPの深刻な脆弱性(php2shell)について、当社サーバーで確かめたこと

こんにちは、クロちゃんです。今回も予定を変えて、セキュリティの話をお届けします。

10月20日の夜、PHPの開発チームから「深刻な脆弱性を2件直した版を、翌日に出す」という予告がありました。PHPはWordPressを動かしているプログラム言語で、このサイトも、当社がお預かりしているお客様のサイトも、PHPの上で動いています。

この記事では、脆弱性の中身と、このサイトを置いているエックスサーバーで実際に何が行われたかを、当社のサーバーで確かめた範囲でまとめます。

お客様向けのご案内は、別の記事「PHPの脆弱性について、当社でサイトをお預かりしているお客様へ」にまとめました。こちらの記事は、技術的な経緯を知りたい方向けです。

2件の脆弱性の内容

番号は CVE-2026-109618 と CVE-2026-109619 です。報道や調査会社の記事では「php2shell」という通称で呼ばれています。

深刻度の評価(CVSS v4.0)はどちらも9.2です。0から10までの評価で、9.0以上は最も重い「緊急」の区分にあたります。悪用されると、ログインしていない第三者がインターネット越しにサーバー上で任意のプログラムを動かせるおそれがあります。サイトの改ざん、情報の持ち出し、迷惑メールの踏み台など、サーバーでできることはほぼ何でもできてしまう種類の欠陥です。

PHP公式の告知によると、2件の仕組みは次のとおりです。

番号起きること
CVE-2026-109618メモリが足りなくなったときの後始末で、作りかけのデータが正しいものとして扱われてしまう
CVE-2026-109619前のリクエストで使い終わったメモリの情報が残り、同じワーカーが次のリクエストを処理するときにそれを使ってしまう

どちらも、WordPressやプラグインの作りとは関係なく、PHP本体の欠陥です。WordPressを最新にしていても、PHPが古いままなら影響を受けます。

影響を受ける動かし方として、公式は PHP-FPM、Apache の mod_php、php-cgi、FrankenPHP、LiteSpeed を挙げています。共用のレンタルサーバーで一般的に使われている方式は、ほぼすべて含まれます。

修正版と、古いPHPの扱い

修正版は日本時間の10月21日夜に公開されました。

系列修正版
PHP 8.58.5.12
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35

PHP 8.1 以前は、すでに公式のサポートが終わっています。今回は事態の重さから、7.4、8.0、8.1 向けに最小限の修正のソースコードが公開されましたが、通常の修正版は出ていません。調査会社のWizは、PHP 5.4以降のほぼすべての版が、2件のうち少なくとも1件の影響を受けるとみています。

公式は、更新ができない場合の一時しのぎとして、ファイルアップロードの進み具合を記録する機能(session.upload_progress)を止めるなどの設定を挙げています。ただし、これは攻撃の入り口を減らすだけで、安全になるわけではないとはっきり書いています。完全な対策は修正版への更新だけです。

なお、PHP 8.2 は2026年12月31日でサポートが終わります。今回 8.2 の修正版は出ましたが、年明け以降に同じような問題が見つかっても、8.2 向けの修正は出ません。

悪用の状況(10月22日早朝時点)

公開から半日ほどの時点で、各社の見立ては次のように分かれています。

  • 調査会社のwatchTowrは、CVE-2026-109618 の攻撃を再現できたと公表し、自社の観測網で実際の悪用も確認したとしています。
  • Cloudflareは、既知の攻撃方法を止めるルールを自社のWAF(Webアプリケーションの防御装置)に入れました。同社の最高技術責任者は、早い段階の攻撃が出始めているとXに投稿しています。
  • オランダの国家サイバーセキュリティセンターは、攻撃の実証コードが公開されたことは確認したが、広い範囲での悪用はまだ確認していない、としています。

確かな被害報告はまだ少ないものの、攻撃方法の情報は出回り始めています。様子を見る段階は過ぎたと考えています。

国内でも、さくらインターネット、ロリポップ!、ConoHa WING など多くのレンタルサーバーが21日に緊急メンテナンスに入りました。ITmediaの報道によると、BASE、pixiv、ニコニコなど、予防のためにサービスを一時止めた会社もありました。

エックスサーバーが行ったこと

このサイトはエックスサーバーに置いています。エックスサーバーは10月21日16時から、公式サイトとサーバーパネルなどの管理画面を止めました。告知には、不正アクセスが起きたためではないこと、利用者のサイトの表示とメールの送受信はそのまま使えることが書かれています。

22日1時10分時点の告知では、次のように説明されています。

  • 公式の修正版が出た PHP 8.2〜8.5 から、利用者のサーバーへ順に修正を適用している
  • 修正版が出ていない古いPHPについては、独自の修正を作り始めたが、時間がかかる見込み
  • 管理画面の再開後、利用状況によっては利用者に追加の対策をお願いする場合がある

当社のサーバーで確かめたこと

告知の内容が当社のサーバーで実際どうなっているかを、SSHでつないで確認しました。見ただけで、設定は何も変えていません。

21日16時01分に、古いPHPの入り口がふさがれていた

管理画面が止まったのとほぼ同時刻に、サーバーに入っている各版のPHP(7.4、8.0、8.1、修正前の8.2〜8.5)へ、アップロードの進み具合を記録する機能を止める設定ファイルが追加されていました。PHP公式が一時しのぎとして挙げているものと同じ設定です。修正版が出る前に、エックスサーバーが先回りして入れたものとみられます。

22日2時11分に、修正版が入っていた

8.2.35、8.3.36、8.4.27、8.5.12 の4つがサーバーに追加されていました。あわせて、「8.3」のように系列の名前で指している場所が、同じ時刻に修正版へ付け替えられていました。サーバーパネルで 8.2〜8.5 のいずれかを選んでいるサイトは、利用者が操作しなくても修正版で動くようになったとみられます。ただし、これはサーバーの中を見て推し量ったもので、エックスサーバーからの正式な説明はまだありません。

古いPHPは、一時しのぎのまま

7.4、8.0、8.1 には、21日16時の設定が入っているだけで、修正はまだ入っていません。この設定で防げるのは2件のうち CVE-2026-109619 の入り口の一つで、CVE-2026-109618 のほうは防げません。エックスサーバーの告知にある「独自の修正」を待つことになります。

ここまでで分かったのは、サーバーに修正版が用意されたところまでです。このサイトが実際にどの版のPHPで動いているかは、サーバーパネルの「PHP Ver.切替」で確かめる必要があり、管理画面が再開してから確認します。古い版で動いていた場合は、修正版のある 8.3 以上へ切り替え、表示とお問い合わせフォームの動作を確かめます。

これから起きそうなこと

今回の件で、この先しばらく次のようなことが起きると考えています。

  1. 古いPHPで動いているサイトが、版の切り替えを迫られる。 7.4〜8.1 の独自修正には時間がかかり、出たとしても公式の支えがない状態は続きます。8.2 も年末でサポートが終わります。数年前に作ってそのままのサイトほど、切り替えで表示が崩れたりプラグインが動かなくなったりする可能性が高く、事前の確認が必要です。
  2. 攻撃がしばらく続く。 攻撃方法の情報が出回ったあとは、修正が当たっていないサーバーを探す通信が増えるのが通例です。
  3. 便乗した偽メールが届く。 大きなメンテナンスのあとは、サーバー会社を名乗って「対応のためログインしてください」と誘う偽メールが出回りやすくなります。メールのリンクは開かず、ブックマークや公式サイトから管理画面に入るのが安全です。

当社のお客様には、別の記事で、当社で確認すること、お客様に確認していただきたいことをまとめました。

追記(10月22日13時)

エックスサーバーは22日6時45分に、PHP 8.2〜8.5 の修正を対象のすべてのサーバーに当て終えたと発表しました。9時30分からは、アカウント管理画面とサーバーパネルを順に再開しています。ただ、再開直後でアクセスが集中しており、つながりにくい状態です。公式サイトは、本日中に再開する予定とされています。

古い版についても動きがありました。当社のサーバーでは22日11時11分に、7.4.33、8.0.30、8.1.34 の新しいビルドが追加され、各系列の指す先がそれに付け替えられていました。版の番号は変わっていないので、エックスサーバー独自の修正を当てたものとみられます。ただし、古い版すべてで適用が終わったという発表は、まだありません。

これを受けて当社では、お預かりしているサイトのPHPを、緊急で 8.3 以上に上げることにしました。古い版は修正が当たっても公式の支えがなく、8.2 も年末でサポートが終わるためです。緊急の対応なので、日時はお客様と個別に相談せずに進め、版を上げて表示が崩れた所は当社で直します。


出典

  • PHP「PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 Released」ほか 2026年10月20日・21日の告知(php.net News Archive)
  • GitHub php/php-src セキュリティアドバイザリ GHSA-w8hw-w9fx-j79w(CVE-2026-109618)、GHSA-6wmf-4rv5-p3rp(CVE-2026-109619)
  • エックスサーバー「予防的な安全対策に伴う公式サイト・管理画面等の一時停止のお知らせ」(2026年10月22日1:10時点、9:30時点)
  • GMO Flatt Security「PHPの重大な脆弱性「php2shell」の概要と対応指針」(2026年10月21日)
  • piyolog「修正予告されたPHPの2件の深刻な脆弱性についてまとめてみた」(2026年10月21日)
  • ITmedia NEWS「PHPの「緊急」レベルの脆弱性、開発元が修正バージョン公開」(2026年10月22日)