06NEWS ARTICLE

お知らせ

News

PHPの重大な脆弱性「PHP2Shell」とは|レンタルサーバー各社の対応状況とサイト運営者が確認すること

2026年10月21日に公表されたPHPの脆弱性(CVE-2026-109618/109619)の概要と、エックスサーバー・さくら・ロリポップ・ConoHa WINGなど主要レンタルサーバーの対応状況、サイト運営者が確認することを、保守会社の実対応とあわせてまとめました。

2026年10月21日、PHPに深刻な脆弱性が2件あることが公表され、修正版が緊急リリースされました。CVE-2026-109618とCVE-2026-109619で、まとめて「PHP2Shell」と呼ばれています。WordPressを含め、PHPで動いているサイトはほぼすべてが対象です。国内のレンタルサーバー各社も、21日夜から22日にかけて緊急メンテナンスを行いました。

この記事では、脆弱性の中身、主なレンタルサーバーの対応状況、サイトの持ち主が確認することを順に書きます。各社の状況は2026年10月22日15時時点で、各社の公式発表を確認した内容です。状況は今も変わっているので、最後は必ずご契約先の公式ページを見てください。

先に結論:共用レンタルサーバーなら、まずサーバー会社の発表を確認する

  • 修正版は PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35。8.1以前はPHP公式の修正版が出ていない
  • 共用レンタルサーバーでは、PHPの更新はサーバー会社の作業です。利用者がPHPを自分で入れ替えることはできません
  • さくら・mixhost・ColorfulBox・バリューサーバー/コアサーバーは対応完了を発表しています。エックスサーバー・ロリポップ・ConoHa WING・お名前.comなどは作業中か、一部完了です
  • WordPress本体の更新は不要です。WordPress公式も、PHPの更新はサーバー会社経由で行うよう案内しています
  • PHP 7系・5系のままのサイトは、サーバー会社が独自に修正していても、この機会に8.2以上へ上げてください

脆弱性の概要

PHP公式の発表と、GitHub上のセキュリティアドバイザリの内容をまとめます。

CVE-2026-109618CVE-2026-109619
何が起きるかメモリ不足でPHPが処理を途中で打ち切ったとき、準備途中のリクエストのデータが壊れたまま後片付けに使われる前のリクエストで使い終わったメモリを指す情報が残り、同じプロセスの次のリクエストで使われる
ログインの要否不要不要
確認された攻撃の形大きなファイルアップロード(multipart)を送りつける。Apacheのmod_phpでは、サイトのプログラムが動く前の段階で、標準設定のまま任意のコード実行まで実証されたPHP標準の「アップロード進捗」機能(session.upload_progress、初期設定で有効)を使う。mod_phpとPHP-FPMの両方でコード実行が実証された
深刻度CVSS 4.0で9.2(PHP公式)CVSS 4.0で9.2(PHP公式)

ポイントは3つです。

  • PHP本体の不具合です。特定のプラグインやテーマの穴ではないので、サイトの作りに関係なく、PHPで動いていれば対象になります
  • ログインも特定のURLも要りません。PHPに届くリクエストなら入口になり得ます
  • 公開前に情報が漏れました。本来の公開日より前倒しになり、PHP Foundationの説明では10月20日にCVE番号が外部に漏れたため1日早めたとのことです。AWSは公開前の10月17日に攻撃の試みを観測したと発表しています

PHP公式が影響ありとしている動かし方は、PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedです。共用レンタルサーバーで使われている方式はほぼすべて含まれます。

古いPHP(8.1以前)はどうなるか

PHPの公式サポートは8.2以上です。7.4・8.0・8.1向けには、PHPの開発チームが最小限の修正パッチをソースコードの形で公開していますが、リリース版としては出ていません。古いPHPで動いているサイトは、次のどちらかで直ることになります。

  • サーバー会社が独自に修正を当てる(共用レンタルサーバー)
  • OSの提供元が修正を移植して配る(Red Hat系・Ubuntu・DebianのVPSなど)

どちらの場合も、画面に出るPHPのバージョン番号は変わらないことがあります。mixhostも「修正後もバージョン表記は変わらない」と案内しています。番号だけで判断せず、サーバー会社やOSの発表で確認してください。

主なレンタルサーバーの対応状況(10月22日15時時点)

サーバー状況利用者の作業
エックスサーバー(シンレンタルサーバー・XServerビジネス含む)10/22 06:45にPHP 8.2〜8.5、12:08に7.4〜8.1、14:03に5.6〜7.3の適用完了。5.5以前は準備中。10/21 16:00から止めていた管理画面は10/22 9:30から順次再開、公式サイト・Webメール・APIは停止中現時点では不要。「管理画面再開後に追加の対策をお願いする場合がある」
さくらのレンタルサーバ10/22 06:30に「全てのPHPバージョンに対して脆弱性への対応を完了」緊急の作業は不要。古いPHPの利用者には8.3への変更を推奨
ロリポップ!旧バージョンにも独自の修正を適用。一部サーバーで10/22 03:05頃から13:11までサイトを停止公式発表なし
ConoHa WING順次適用中。10/22 12:00〜21:00にサーバー再起動を伴うメンテナンス「PHPバージョンを維持したまま」対応、変更は不要
お名前.com レンタルサーバー作業中。10/22 12:00〜21:00に再起動を伴うメンテナンスPHP 5系・7系では「バージョンの変更が必要なケースもある」
mixhost10/22 10:18頃に全サーバーでPHP 5.2〜8.5の対応完了不要
ColorfulBox7.4・8.0・8.1を含む全サーバーで対応完了不要
バリューサーバー / コアサーバー10/22 00:50(コアサーバーV2は11:13)に対応完了不要
heteml一部完了。PHP 8.1以前ではsession.upload_progressなどを無効化PHP 8.1以前は動作確認を依頼
カゴヤ・ジャパンレンタルサーバーのPHP 8.2〜8.5は更新を調整中(10/22 10:35更新)マネージド・共用・WordPress専用プランは恒久対策前のため、公開停止やアクセス制限の検討を案内
CPI公式修正があるバージョンを急ぎ対応中。管理画面・公式サイトは停止中公式発表なし

公式情報:

サイトの持ち主が確認すること

1. 自分のサイトがどのサーバーで、何のPHPで動いているか

  • サーバー会社の管理画面(PHPのバージョン設定の画面)
  • WordPressなら、管理画面の「ツール」→「サイトヘルス」→「情報」→「サーバー」

制作会社に任せていて、どこのサーバーか分からない場合は、制作会社に聞いてください。

2. サーバー会社の発表で「対応完了」になっているか

共用レンタルサーバーなら、上の表と公式ページで確認します。「完了」になっていれば、PHPそのものについて利用者がやることは基本的にありません。

3. PHP 7系・5系なら、8.2以上に上げる

今回は各社が古いバージョンにも独自に修正を当てていますが、PHP公式のサポートが切れたバージョンは、次の脆弱性で同じ対応が受けられる保証がありません。WordPressのプラグインも古いPHPへの対応をやめていきます。上げる前にバックアップを取り、プラグイン・テーマが動くかをテスト環境で確認してから切り替えてください。

4. VPS・専用サーバーは自分で更新する

VPSや自社サーバーは、サーバー会社ではなく管理者が更新します。

  • Ubuntu・DebianはOSの更新で修正版が配布されています(Ubuntuは14.04〜26.10、14.04〜20.04はUbuntu Proが必要)
  • Red Hat系(RHEL・AlmaLinux・Rocky Linux)はRed Hatが修正を移植して配る形です。Red Hatの発表では10月22日時点で対応中です
  • RemiリポジトリのPHPは、リリース当日の更新がありませんでした。PHP公式はディストリのパッケージへの切り替えか、自前のビルドを案内しています

修正がすぐ当てられない場合の軽減策(完全な対策ではありません):

  • php.iniかPHP-FPMの設定で session.upload_progress.enabled = 0 にする(PHP 8.5は fatal_error_backtraces = 0 も)。.user.ini やプログラム側からの設定では効きません。設定後はPHPのプロセスをすべて再起動します
  • Cloudflareを使っている場合、10月21日から無料プランも含めて防御ルールが既定で有効になっています。有料プランは、ルールが「ブロック」になっているかを確認します

更新も軽減策もできないサイトについては、IPA、英国NCSC、WordPress.orgが公開停止やアクセス制限を勧めています。

当社の保守先で実際にやったこと

当社が保守しているサイトのうち、共用レンタルサーバーのものはサーバー会社の作業待ち、VPSのものは当社で対応しました。

修正版公開の直後(10月21日23時)に実測したPHP

  • ロリポップのサイト:8.3.35(修正前)
  • さくらのレンタルサーバのサイト:8.3.32(修正前)
  • さくらのVPS(Rocky Linux 9):OS標準パッケージのPHP 8.0.30

ロリポップのサイトは、10月22日15時に確認した時点で8.3.36になっていました。

VPSでの対応

Rocky Linux 9のPHPは、PHP本家のサポートが切れた8.0でも、Red Hatが修正を移植して配る仕組みです。21日深夜の時点ではまだ配布されておらず、手作業でPHPを8.3に上げても、OS側のPHP 8.3パッケージも同じく修正待ちでした。そこで、上げずに配布を待つことにしました。待つ間の軽減策として、次の作業をしています。

  • PHP-FPMの設定に session.upload_progress.enabled = off を管理者固定値で追加。元の設定ファイルは退避
  • 先に、この機能を使っている箇所がないかを確認しました。WordPressのアップロード進捗はブラウザ側のJavaScriptで表示していて、この機能は使っていません。使っていたのは同じサーバーのphpMyAdmin(インポート時の進捗バー)だけで、Basic認証の内側にあり、止めても進捗バーが出なくなるだけです
  • 設定テストのあとPHP-FPMをリロード(停止なし)。実際の設定値が0になっていることと、サイトが正常に表示されることを確認

これでCVE-2026-109619の実証で使われた経路はふさがりますが、CVE-2026-109618は残るので、OSの修正版が配布されたら当てます。

サーバー会社の管理画面停止の影響

エックスサーバーは10月21日16時から管理画面・ファイルマネージャ・APIを止めました(管理画面は22日9時30分から順次再開、APIは停止中)。サイトとメールは動いていましたが、その間は管理画面からの設定変更ができないため、予定していた作業は再開後に回しました。

乗っ取られていないかの確認

修正が当たる前に攻撃を受けていた可能性はゼロではありません。JPCERT/CCは注意喚起の中で、ログで確認すべき痕跡を挙げています。気になる場合は、まずアクセスログとファイルの改ざんの有無を確認してください。侵入されていた場合の手順は「WordPressが乗っ取られたときの復旧手順」に書いています。

当社の保守プランでは、脆弱性情報の照合と改ざん検知を決まった頻度で回しています。内容はホームページのセキュリティ対策(KAGIS)とホームページ保守プランにまとめています。

参考にした一次情報

2026年10月22日15時時点の情報です。各社の対応が進んだら追記します。