PR
私が使っているPCガジェット類

作業環境で実際に使っている・気になっている周辺機器などをまとめました

※ 一部のリンクは広告(アフィリエイト)を含みます

php2shell エックスサーバーの緊急対応と利用者の点検

2026年10月22日 9時時点の情報です

10月21日の夜、世を騒がせたPHPの脆弱性をまとめます

エックスサーバーの管理画面に入れませんでした
PHP本体に見つかった脆弱性「php2shell」の公表に備えて、エックスサーバーが公式サイトや管理画面を止めていたためです
javeo.jpのほうは、普通に表示されたまま

結論から言うと、エックスサーバーは22日6時45分のお知らせで、PHP 8.2〜8.5の修正パッチを対象のすべてのサーバーに当て終えたと発表しています
私が借りているサーバーでも、22日の朝には、入っているPHPのうち8.2〜8.5が修正版に入れ替わっていました
8.1以前の古いバージョンは、そのお知らせの時点で一部の適用が始まったところで、残りは準備中

PHP本体を直すのはサーバー会社です
利用者がやることは大きく2つ
使っているPHPのバージョンの確認と、サイトの点検

目次

php2shellとは PHP本体に見つかった2件の脆弱性

php2shellは、PHP本体に見つかった2件の脆弱性(CVE-2026-109618とCVE-2026-109619)の通称です
研究者や報道が使う呼び名で、PHP公式の告知には出てきません

PHPは、多くのWebサイトを動かしているプログラミング言語
WordPressもPHPで動いているので、php2shellはWordPressのサイトにもそのまま関わります
PHP公式の評価は、深刻度を表すCVSS v4.0で9.2(Critical=緊急)です

  • CVE-2026-109618は、メモリが足りなくなったときの後片付けで、作りかけのデータを正しいデータとして扱ってしまう不具合
  • CVE-2026-109619は、前のアクセスで使った情報がメモリの解放後も残り、次のアクセスの処理がそれを使ってしまう不具合(メモリの中身が漏れることもある)

どちらも、ログインも利用者の操作もいらない状態で、攻撃者にサーバー上のプログラムを動かされるおそれがあります
PHP公式は、PHPの動かし方(PHP-FPM・mod_php・CGIなど)を問わず、Webのアクセスを処理しているPHPをすべて対象としています
実際に攻撃が確かめられたのはmod_phpとPHP-FPMで、リスクがいちばん高いのはmod_php

修正版は8.2〜8.5の4つ 8.1以前は新しい版が出ない

PHP公式が出した修正版は、サポート中の4系列ぶん

PHPの系列修正版
8.58.5.12
8.48.4.27
8.38.3.36
8.28.2.35(サポートは2026年12月31日まで)
8.1以前新しい版は出ない

※7.4・8.0・8.1には、ソースから自分で組み立てる人向けの最小限の修正だけが公開されています

PHP公式のリリース告知には「There are no complete mitigations, updating is the only safe choice.」とあります
完全な回避策はなし
安全なのは更新だけです

公式が影響を受けるバージョンとして挙げているのは、この8.2〜8.5
ただ、7.4〜8.1にも修正を出している以上、8.1以前なら影響が無い、とは読めません
GMO Flatt Securityや発見者のWizは、5.x系を含む古いバージョンにも及ぶ可能性を指摘しています

予定の23時より早く公開された

当初の予定は日本時間の21日23時でしたが、遅くとも22時34分には、GitHubでPHP公式の勧告が公開されていました
報道やエックスサーバーの案内では「23時ごろ」とされていて、1時間ほどずれています

公開前に情報の一部が出回っていました
PHP側も、詳細が公になったり悪用が出たりしたら前倒しすることがある、と予告していました

見つけたのはセキュリティ企業のCalifとWizで、AIを使って発見し、OpenAIの取り組みの枠組みで対応した、とGIGAZINEは伝えています
CVEの記録では、OpenAIも発見者に名前があります

php2shellで最悪どうなる? サーバーの乗っ取りと情報漏えい

攻撃が成功すると、サーバー上でPHPを動かしているアカウントの権限で、攻撃者が好きなプログラムを動かせます
サイトのファイルの書き換えや、データの持ち出しにつながります

日本ハッカー協会の杉浦隆幸代表理事は、TBS NEWS DIGの取材に「攻撃が成功しますと、サーバーを乗っ取ることができるほか、データを盗んでさらに暗号化することも可能ですし、破壊することも可能となる」と話しています

CVE-2026-109619には、メモリの中身が漏れるおそれもあります
メモリに載っているのは、PHPがそのとき扱っている情報
たとえばWordPressなら、データベースのパスワードもPHPが読み込んで使っています

厄介なのはその先です
もし入られていたら、裏口(外からサーバーを操作するための不正なファイル)を置かれているかもしれません
PHPを修正版に入れ替えても、先に置かれたファイルは消えません

ただし、PHP公式の評価では攻撃の複雑さは「高」で、攻撃が通るための条件もあるとされています
どのサイトでも簡単に乗っ取れる、とまでは言えない評価です
ただしmod_phpでは、既定の設定のまま攻撃が実証されています

修正版の公開前から、ホスティング事業者から悪用の事案が報告されたとの情報(詳細は非公開)もあります
一方で、侵入の成功を具体的に示した公表は、22日の時点で見つかっていません
IPA(情報処理推進機構)も、修正版の公開前に出した注意喚起の中で、悪用した攻撃を確認しているわけではないとしています

ジャベ雄

試みと成功は別物ですが、入られていないとも言い切れません

メンテナンスのために止まったサービスの例

21日の午後から深夜にかけて、ネットショップ・イラスト投稿・ゲームなどのサービスが、PHPの修正版の公開に合わせて相次いで止まりました

piyologは22日午前の更新で、告知を確認できた211の組織を業種別にまとめています
ゲームやホスティングの会社のほか、国の機関・金融機関・自治体の名前も

21時55分には、高市総理がXで「皆様に、今夜に対応して頂きたい大至急のお願いです」と投稿しました
投稿は、Webサイトの一時停止もリスクを下げる有効策の一つとしています
ITmedia NEWSは、首相が個別の脆弱性でXから直接呼びかけるのは異例と伝えています

目立ったのは前倒し
ウマ娘とグランブルーファンタジーは、23時の予定を22時に早めています

サービス開始終了内容
BASE21日 15:5022日 8:00(完了の告知)緊急メンテナンス
pixiv・pixivFANBOXなど21日 19:0021日 23:30対象サービス全体※1
ウマ娘 プリティーダービー21日 22:00ごろ22日 2:30ゲーム全体
グランブルーファンタジー21日 22:0022日 7:00※2全機能
セガの製品情報サイト21日 22:55未定(22日の告知時点)サイト全体
ロリポップ!21日 21:43(告知)未確認ユーザー専用ページなど※3

※1 pixivの告知にPHPの記載は無く、理由は「サービスの安全性確保のため」(報道ではPHPへの対応として扱われています)
※2 DMM版・GREE版を除く
※3 22日3時5分に、一部のサーバーでサイトも一時的に止めると告知

同じ時間帯には、さくらのレンタルサーバ・ConoHa WING・mixhostもメンテナンスや一部の停止をしていました
ただ、3社とも告知にPHPの名前は無く、今回の件のためだったかははっきりしません

エックスサーバーの対応と、借りているサーバーで確かめた結果

エックスサーバーは、利用者のサイトとメールを動かしたまま、公式サイトや管理画面を止めて、PHPの修正を進めました
停止から適用完了の発表までは、およそ15時間でした

管理画面は止まり、サイトとメールは動いていた

停止は21日(水)の16時から
お知らせの題は「予防的な安全対策に伴う公式サイト・管理画面等の一時停止のお知らせ」です

管理画面に入れないと、サイトまで止まったのかと心配になります
公式のお知らせの、利用中のサーバーについての記述がこちら

本メンテナンスによるお客様のご利用サーバーへの影響はございません。Webサイトの表示やメールソフトでの送受信は、通常どおりご利用いただけます。— エックスサーバー「予防的な安全対策に伴う公式サイト・管理画面等の一時停止のお知らせ」

私のサイトも、普通に表示されていました

止まったのは次のとおり

  • 公式サイト(各種サービスサイト・コーポレートサイト)
  • アカウント管理画面・サーバーパネル
  • WEBメール・ファイルマネージャ
  • 各種API・MCP
  • 新規申し込み・契約更新・支払いなどの手続き

サポートも一部だけ
チャットとお問い合わせフォームは使えません
電話は平日9〜18時に受けているものの、情報を参照できないため具体的な案内はできないとされています
契約更新や支払いもできないので、期限が近い方は再開後に確かめておくと安心です

エックスサーバーの「予防的な安全対策に伴う公式サイト・管理画面等の一時停止のお知らせ」のページ。止めたサイト・機能の一覧と、開始日時・再開の見込みが載っている

お知らせには「本対応は当社サービスに対する不正アクセスの発生に伴うものではございません」ともあります
止めた理由は不正アクセスではないとの説明です
利用者のサイトが無事だった保証とは別の話

同じ夜、ロリポップ!は22日3時5分に、一部のサーバーで利用者のサイト自体を一時的に止めると告知しています
エックスサーバーは、利用者のサイトの表示とメールは止めませんでした

21日16時の停止から22日6時45分の適用完了まで

時刻エックスサーバーの動き
21日 16:00公式サイト・管理画面などを一時停止
21日 17:03公式Xで停止を告知、不正アクセスによるものではないと説明
22日 1:22公開された修正版をもとに対応を進めていると公式Xで案内
22日 3:55PHP 8.2〜8.5に修正パッチを適用中で、全サーバーには数時間かかる見込み、古いバージョンも準備と検証を並行
22日 6:45PHP 8.2〜8.5は対象のすべてのサーバーに適用完了、古いバージョンも一部から順次適用

お知らせの「よくある質問」によると、修正版の公開前から、利用中のサーバーに緩和策を含む安全対策を順次当てていました
公開後は、提供している各PHPバージョンに、公式の修正版か同社独自の修正を順次当てる予定
8.1以前のように公式の新しい版が出ないバージョンは、独自の修正で手当てしていく、と読めます

ただ、PHP公式は、緩和策は攻撃の経路を減らすだけで安全にはならないとしています
8.2〜8.5は22日の朝に修正版が当たるまで、8.1以前はその後も、この状態でサイトが動いていました

管理画面の再開の見込みは、21日の深夜〜22日の未明とされていました
9時12分の時点では、公式サイトもマニュアルもサーバーパネルのログイン画面も、まだお知らせのページのまま
再開したら、この記事に追記します

借りているサーバーのPHPは、8.2〜8.5が修正版になっていた

エックスサーバーの共用サーバーには、サーバーパネルの「PHP Ver.切替」で選べるように、いくつものバージョンのPHPが1台の中に並んで入っています
サイトが使うのは、そのうちドメインごとに選んだ1つだけ

22日8時43分に、SSH(サーバーに直接つないで操作する方法)で私が借りているサーバーに入り、並んでいるPHPのバージョンを1つずつ確かめました

PHPの系列入っていたバージョンファイルの日時
8.58.5.1210月22日 6:16
8.48.4.2710月22日 6:16
8.38.3.3610月22日 6:16
8.28.2.3510月22日 6:16
8.18.1.34入れ替わっていない
8.0・7.48.0.30・7.4.33入れ替わっていない

8.2〜8.5は、どれも修正版の番号でした
ファイルの日時は4つとも6時16分で、6時45分の「適用完了」のお知らせの約30分前

8.1以前は別
8.1は8.1.34のままで、8.0と7.4も入れ替わっていませんでした
番号を変えずに独自の修正が入っている可能性もあるので、番号だけで未対応とは決められません
どれもサーバーに入っているファイルの話で、自分のサイトがこのうちどれを使っているかは、次の節のサイトヘルスで確かめられます
javeo.jpが使っていたのは、修正版の8.3.36でした

アクセスログ(サイトへのアクセスの記録)も見ました
POST(データの送信)が続いた記録はあっても、似た形のアクセスは19日・20日にも来ていました
php2shellを狙ったものかは判定できず
アクセスログには送られたデータの中身が残らないので、ログだけで攻撃の有無を見分けるのは難しいと感じています

※XServer VPS・XServerビジネス・シン・レンタルサーバーなど、ほかのサービスの扱いは未確認
VPSはPHPを自分で入れて管理するサービスなので、共用サーバーとは事情が違うはずです
使っている方は、各サービスのお知らせを見てください

ジャベ雄

切り替えたくても、サーバーパネルが戻るまでは待つしかありません

エックスサーバーの利用者がこのあと点検すること

最初に確かめたいのは、サイトが使っているPHPのバージョンです
8.2〜8.5なら修正版に入れ替わっているはずで、8.1以前なら8.2以上への切り替えを考える場面

自分のサイトのPHPが何系か、すぐに答えられますか?

ジャベ雄

サーバーパネルが閉じていても、確かめるだけならWordPressで足ります

STEP
サイトが使っているPHPのバージョンを確かめる

本来の確認場所は、サーバーパネルの「PHP Ver.切替」
22日9時の時点ではサーバーパネルに入れないので、その間はWordPressの管理画面で見ます

WordPressの管理画面で、「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」の順に開くと、「PHP バージョン」の行にバージョンが表示されます

WordPressのサイトヘルスの「情報」タブの「サーバー」欄。「PHP バージョン」の行に 8.3.36 と表示されている

私のサイトは8.3.36で、修正版になっていました
表示されたバージョンが、上の修正版の表と同じか、それより新しければ修正済み
サイトを複数持っているなら、サイトごとに見ておくと確実です

phpinfoを表示するファイルを置く方法もありますが、消し忘れるとサーバーの設定が外から見えてしまうのが難点
サイトヘルスなら心配無用です

STEP
8.1以前なら、8.2以上に切り替える

8.1以前のPHPには、PHP公式の新しい版が出ません
8.1のサポートは、2025年12月31日で終了済み
7.4・8.0・8.1向けに出たのは、ソースから自分で組み立てる人向けの最小限の修正だけです

エックスサーバーは古いバージョンにも独自の修正を順次当てるとしていますが、PHP公式のサポートが戻るわけではありません
修正が「順次」なので、8.2〜8.5より守りの薄い時間が長くなる可能性もあります

切り替え先は、8.3以上がおすすめです
8.2のサポートは2026年12月31日までで、8.2を選ぶと2か月ほどでまた切り替えが要ります

  • 8.3:2027年12月31日まで(すでにセキュリティの修正だけの段階)
  • 8.4:2028年12月31日まで
  • 8.5:2029年12月31日まで

長く使うなら、プラグインとテーマが対応している範囲で新しいほうを選びます

切り替える前に、使っているプラグインとテーマが新しいPHPで動くかを、配布元の案内で確かめておきます
切り替えの操作は、管理画面の再開後にサーバーパネルの「PHP Ver.切替」で

STEP
WordPress本体・プラグイン・テーマを更新する

WordPressやプラグインを更新しても、PHP本体の脆弱性は直りません
直るのは、サーバー会社がPHPを修正版に入れ替えたときだけです

それでも更新は普段どおり
古いままのプラグインは新しいPHPで動かないことがあるので、先に更新しておくとPHPの切り替えも楽になります

更新ボタンを押す前の確認は、WordPressの更新前に確かめたい注意点が参考になるはず

STEP
知らない管理者と、覚えのないファイルの更新がないか見る

入られていた場合の手がかりとして、次の2つを確かめます

  • WordPressの「ユーザー」の一覧に、知らない管理者がいないか
  • サイトのフォルダやwp-contentの中に、身に覚えのない日時に更新されたファイルがないか(特にindex.php・テーマのfunctions.php・.htaccess・.user.ini)

ファイルの日時を見るなら、FTPソフトか、再開後のファイルマネージャ
プラグインを更新しただけでも日時は変わるので、日時だけで改ざんと決めつけないようにします
逆に、日時は書き換えることもできるので、古い日時だから無事とも言えません

怪しいファイルを見つけても、自分の判断で消さないでください
消したファイルによっては、サイトが表示されなくなることも
WordPress公式のハッキングされたときのFAQも、取り除くなら使っていたのと同じバージョンを入れ直すこと、レンタルサーバー会社に確認を取ることを案内しています
見つけたときは、管理画面の再開後にエックスサーバーのサポートへ相談するのが近道です

STEP
バックアップを確かめ、今の状態も手元に残す

エックスサーバーには自動バックアップがありますが、残しておける期間には限りがあります
心配なら、早めに今の状態を手元にも保存しておくのがおすすめ

WordPress公式のFAQも、元に戻す前に、今の状態を別に保存しておくよう案内しています
保存するのは、ファイルとデータベースの両方です
ファイルはFTPソフトで今すぐ取れますが、データベースの書き出しはふつうサーバーパネルから入るphpMyAdminを使うので、管理画面の再開後になります

STEP
パスワードは、侵入の兆候があれば変える

上の確認で侵入の兆候が見つかったら、パスワードの変更は必須です
WordPress公式のFAQでは、WordPressの管理画面・FTP/SFTP・サーバーの管理画面・データベースのパスワードと、wp-config.phpの認証用キーを変える手順が挙がっています

兆候が無ければ、念のための扱い
エックスサーバーやPHP公式から、利用者全員にパスワードの変更を求める案内は見当たりません
CVE-2026-109619はメモリの中身が漏れることもあるので、気になるなら変えておくのも手です

STEP
管理画面の再開後に、エックスサーバーのお知らせを読む

エックスサーバーは、利用状況によっては、管理画面の再開後に利用者にも追加の対策をお願いする場合があると案内しています
その際は改めて知らせるとしているので、再開したらお知らせのページを確かめておきます

自分でやらなくていいこと 暫定策の設定は試さない

修正版が出る前には、PHPの設定で穴をふさぐ暫定策もネットに出回っていました
共用サーバーの利用者は、次の3つには手を出さないのがおすすめです

  • php.iniや.user.iniでsession.upload_progressを切る
  • .htaccessでPHPの設定を書き換える・PHPを止める
  • WordPressのメンテナンスモードで守ろうとする

共用サーバーの利用者が自分でやっても、効かないか逆効果になりやすいものばかりです

  • session.upload_progressを切る方法は、同じ日のうちに単体では完全な対策にならないと訂正されています(窓の杜)
    PHP公式も、この種の設定はphp.iniやサーバー側で入れるものとして、.user.iniには頼らないよう書いています
  • .htaccessでPHPの設定を書き換えると、PHPの動かし方によっては500エラー(サイトが表示できない状態)の原因に
    止め方を間違えると、PHPのファイルの中身がそのまま見えてしまうこともあります
  • PHP公式によると、攻撃はWordPressなどのアプリのコードが動く前に起きうるため、PHPの上で動くメンテナンスモードでは防げません
    サーバー側でサイトへのアクセスそのものを止める一時停止(ロリポップ!が一部のサーバーでしたもの)とは別物です

PHP本体の修正は、エックスサーバーが順に当てています
利用者が自分で設定をいじると、サイトが表示できなくなる危険のほうが大きいと思います

エックスサーバーとWordPressの組み合わせを一から整理したいときは、契約からテーマの設定までの手順を別の記事にまとめています

まとめ PHPのバージョンを確かめてから、サイトの点検へ

php2shellは、PHP本体に見つかった2件の脆弱性です
エックスサーバーは22日6時45分に、PHP 8.2〜8.5の修正の適用完了を発表しています

やることを4つに絞ると、次のとおり

  • サイトヘルスでPHPのバージョンを確かめる
  • 8.1以前なら、プラグインとテーマの対応を見てから8.2以上(できれば8.3以上)へ
  • 知らない管理者と、覚えのないファイルの更新がないか見る(怪しいファイルは消さない)
  • 管理画面の再開後に、エックスサーバーのお知らせを読む

WordPressやプラグインの更新だけでは、PHP本体の穴は直りません


WORK

ツール作成のご依頼を受けています

クラウドワークス・ココナラで受注200件以上
会社員の副業なので、対応は平日夜と土日です

頼めることと料金の目安を見る →

ココナラが初めての方は、紹介コード 78E62K で1,000円分のポイントがもらえます

はじめての方の会員登録(PR):クラウドワークス / ココナラ

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAとPythonを中心にユーザー側でできるITを自己学習しているので備忘録半分、学習履歴を残して同じ道を辿る人の参考になればとブログを始めました

副業でスクレイピングツール作成を中心にできることを色々やっていますのでご相談いただけるとありがたいです!


クラウドワークスのページへ


ココナラのページへ

コメント

コメントする

目次