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-109618 | CVE-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系では「バージョンの変更が必要なケースもある」 |
| mixhost | 10/22 10:18頃に全サーバーでPHP 5.2〜8.5の対応完了 | 不要 |
| ColorfulBox | 7.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 | 公式修正があるバージョンを急ぎ対応中。管理画面・公式サイトは停止中 | 公式発表なし |
公式情報:
- エックスサーバー:メンテナンスの告知ページ・公式X(10/22 12:08)・公式X(10/22 14:03)
- さくらのレンタルサーバ:PHPの脆弱性への対応について・メンテナンス情報
- ロリポップ!:お知らせ・公式X
- ConoHa WING:お知らせ
- お名前.com:お知らせ
- mixhost:お知らせ
- ColorfulBox:障害・メンテナンス情報
- バリューサーバー / コアサーバー:バリューサーバー・コアサーバーV1・コアサーバーV2
- heteml:お知らせ
- カゴヤ・ジャパン:お知らせ
- 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)とホームページ保守プランにまとめています。
参考にした一次情報
- PHP公式:セキュリティリリースの告知(2026年10月21日)
- PHP Foundation:今回のセキュリティリリースについて
- GitHub:CVE-2026-109618のアドバイザリ
- GitHub:CVE-2026-109619のアドバイザリ
- JPCERT/CC:注意喚起 JPCERT-AT-2026-0033
- IPA:重要なセキュリティ情報
- WordPress.org:PHPの重大なセキュリティリリースについて
- Red Hat:RHSB-2026-013
- Ubuntu:CVE-2026-109618
- Cloudflare:WAFによる防御について
- AWS:公開前の攻撃の観測について
2026年10月22日15時時点の情報です。各社の対応が進んだら追記します。
