ブログ
PHP重大脆弱性「php2shell」で何が起きた?アップデート時にやること【レンタルサーバー編・VPS編】
2026年10月21日の深夜、PHPに見つかった2件の重大な脆弱性(通称「php2shell」)の修正版が公開されました。世界中のWebサイトの多くがPHPで動いており、WordPressもその一つです。弊社でも、10月21日から22日にかけて自社サーバーのPHPアップデート対応を行いました。
この記事では、今回の脆弱性で何が起きたのかを整理したうえで、PHPをアップデートするときにやるべきことを「レンタルサーバー編」と「VPS編」に分けて解説します。
【注意】今回問題となっているのはPHPの脆弱性であり、WordPress自体に問題が発生したわけではありません。誤解のないようご注意ください。
PHP脆弱性で起こった流れまとめ
| 日時(日本時間) | 出来事 |
|---|---|
| 10月21日 | PHP開発チームが「緊急(Critical)」レベルの脆弱性2件の修正版を21日深夜に公開すると予告。詳細は非公開のまま、全利用者に更新準備を呼びかけ |
| 10月21日 日中 | セキュリティ企業などが情報を発信。「php2shell」の名称が広まり、悪用できると主張するコードもネット上に出回り始める |
| 10月21日 23時ごろ | 修正版(8.5.12/8.4.27/8.3.36/8.2.35)が公開 |
| 10月22日 | レンタルサーバー事業者やWebサービス各社で緊急メンテナンスが相次ぎ、サイト運営者も対応に追われる |
どんな脆弱性なのか
- 対象のCVEは CVE-2026-109618 と CVE-2026-109619。深刻度はCVSS v4.0で 9.2(Critical)
- 悪用されると、外部からサーバー上で任意のプログラムを実行される(RCE)おそれがある
- 原因はPHP本体。PHP 5.x・7.x・8.x(修正前)と古いバージョンまで広く影響する可能性があると指摘されている
- デフォルトで有効な機能(セッションのアップロード進捗機能)が攻撃の入口になりうる
特に注意したいのは、WordPress本体やプラグインを更新しても直らないという点です。問題はWordPressの土台であるPHPそのものにあるため、セキュリティプラグインでも防げません。サーバー側でPHPを修正版に入れ替える必要があります。
AIが見つけた脆弱性
今回の脆弱性は、AIを活用したセキュリティ調査によって見つかったことでも話題になりました。報道によると、セキュリティ企業のCalifがOpenAIの取り組み「Patch the Planet」の一環としてPHPを調査し、AIモデルを使って脆弱性を発見。OpenAIやセキュリティ企業のWizもそれぞれ独自に報告し、PHP開発チームと連携して修正が進められました。
なお、原因の一つは2024年の外部監査の時点で兆候が見つかっていたものの、具体的な攻撃方法が見つからず修正が後回しになっていたとされ、PHP財団も「構造的な失敗」と認めています。
悪用の状況については、公開4日前の10月17日にAmazonが攻撃の試みを観測していたほか、修正版の公開後は数時間で攻撃コードが広まり、攻撃の試みが急増したという報告も出ています。
アップデート当日の各企業の動き
修正版の公開は10月21日23時ごろでしたが、それより前の21日午後から、攻撃を受ける前にサイトやサービスを予防的に止める動きが国内で一斉に広がりました。特に21日20時ごろからは、多くのサービスが一時停止に入っています。
レンタルサーバー会社の対応
| サーバー会社 | 主な対応 |
|---|---|
| さくらインターネット | 10月21日13時ごろ〜22日8時ごろ、レンタルサーバ・マネージドサーバなどで緊急メンテナンスを実施。コントロールパネルで選べるすべてのPHPバージョンで対応完了とし、利用者側での緊急対応は不要と案内。phpMyAdminやウェブメールも順次対応(ウェブメールは22日13時45分に完了) |
| エックスサーバー | 10月21日16時ごろ、予防的な安全対策として公式サイトと管理画面へのアクセスを一時停止(Webサイトの表示やメールは利用可能)。22日6時45分、PHP 8.2〜8.5への修正パッチ適用完了を発表し、旧バージョンも順次対応 |
| ロリポップ!(GMOペパボ) | 10月21日に緊急メンテナンスを実施 |
| ConoHa WING | 10月21日19時〜22日10時(予定)で緊急メンテナンスを実施 |
| mixhost | 10月21日22時45分から、マイページの緊急メンテナンスを実施 |
サイトの表示は止めずに、管理画面やマイページへのログインを止めた会社があるのがポイントです。管理画面もPHPで動くWebアプリケーションのため、利用者のサイトより先に攻撃の入口になるのを防ぐ狙いがあったとみられます。
レンタルサーバー会社以外の企業の対応
| 企業・サービス | 対応内容 |
|---|---|
| BASE | 10月21日午後からメンテナンス |
| コドモン(保育施設向けサービス) | 予防的に早い段階でサービスを停止 |
| pixiv | 緊急メンテナンス(その後、一部サービスを再開) |
| ニコニコ | 緊急メンテナンス |
| DMM.com | 緊急メンテナンス |
| Cygames(グランブルーファンタジー、ウマ娘 プリティーダービー) | サービスを一時停止 |
| 静岡銀行・阪急電鉄 | Webサイト・Webサービスを一時停止 |
| 一部の自治体 | システムを一時停止 |
| 一部のオンラインゲーム(『ワールドクエスト』『僕の魔界を救って!』など) | 古い仕組みで十分な対策が取れない・対応が困難として、サービス終了を発表 |
大手でも「修正版を入れるまでは止める」という判断をしたこと、そして対応しきれずにサービス終了を選んだ例まで出たことからも、今回の脆弱性の深刻さがうかがえます。
高市総理もXで対応を呼びかけ
10月21日21時55分には、高市総理が自身のXで「大至急のお願いです」と、PHPの脆弱性への対応を呼びかけました。投稿では、公開しているサイトでPHPを使っていないか確認し、23時に公開予定の修正パッチをすぐ適用できるよう準備すること、適用が難しい場合はサイトの一時停止もリスクを下げる手段の一つであることを伝え、国家サイバー統括室の発信も参考にするよう促しています。報道によると、総理自身のサイトも一時停止されました。
総理大臣がソフトウェアの脆弱性について直接呼びかけるのは異例で、「経営層にも伝わる」とエンジニアからも評価する声が上がりました。
修正済みバージョン
| 利用中のシリーズ | このバージョン以上にする |
|---|---|
| PHP 8.2系 | 8.2.35 |
| PHP 8.3系 | 8.3.36 |
| PHP 8.4系 | 8.4.27 |
| PHP 8.5系 | 8.5.12 |
| PHP 8.1以前 | サポート終了のため修正版なし。8.3以上への移行を検討 |
※情報は2026年10月23日時点のものです。最新情報はPHP公式サイトのセキュリティ情報をご確認ください。
PHPのアップデート時にやること
まずはレンタルサーバー・VPS共通の準備です。
- 運用中のサイトを洗い出す:古いキャンペーンサイトや、問い合わせフォームだけPHPで動いているページも忘れずに
- PHPのバージョンを確認する
- レンタルサーバー:サーバーのコントロールパネルや管理画面で確認
- VPS:SSHで接続し、
php -vコマンドで確認 - WordPress:「ツール」→「サイトヘルス」→「情報」→「サーバー」でも確認可能
- 「8.3」ではなく「8.3.36」のように細かい番号まで確認しましょう
- バックアップを取る:ファイルだけでなくデータベースも。不具合が出たときに元に戻せる状態にしてから作業します
レンタルサーバー編
共用のレンタルサーバーでは、PHPそのもののアップデートは基本的にサーバー会社が行います。利用者がやることは「確認」と「切り替え」です。
- バックアップを取る:PHPのバージョンを切り替える前に、サイトのファイルとデータベースをバックアップします。サーバー会社の自動バックアップ機能があれば取得日時を確認し、なければBackWPupやUpdraftPlusなどのプラグイン、または管理画面のバックアップ機能で手動取得しておきましょう
- サーバー会社のお知らせを確認する:修正版が適用済みか、いつ適用されるかをチェック。緊急メンテナンスの予定があれば、その時間帯は更新作業を避けます
- 管理画面で選択しているPHPバージョンを確認する:8.1以前などサポート終了のバージョンを選んでいると、修正が届かない場合があります
- 必要ならPHPのバージョンを切り替える:古いテーマやプラグインは新しいPHPで動かないことがあるため、可能ならテスト環境で先に確認。切り替え前にWordPress本体・テーマ・プラグインも最新にしておくとトラブルが減ります
- 切り替え後の動作確認:トップページ・固定ページ・お問い合わせフォームの送信・管理画面へのログインまで確認しましょう
- 不具合が出たら元のバージョンに戻す:表示崩れや真っ白な画面になった場合は一旦戻し、原因のテーマ・プラグインを特定します
VPS編
VPSやクラウドサーバーでは、PHPのアップデートはすべて自分で行う必要があります。サーバー会社が自動で直してくれることはありません。
- スナップショット・バックアップを取得:VPSのスナップショット機能があれば作業前に取得。なければサイトのファイルとデータベースのダンプを取ります
- 現在のバージョンとインストール元を確認:OS標準のパッケージか、Remiなどの外部リポジトリか、自分でビルドしたものかで手順が変わります
php -v
rpm -qa | grep php # RHEL系(Rocky Linux / AlmaLinux など)
dpkg -l | grep php # Debian / Ubuntu 系- PHPパッケージを更新
# Rocky Linux / AlmaLinux など
sudo dnf upgrade 'php*'
# Ubuntu / Debian(ondrej/php などを利用している場合)
sudo apt update
sudo apt install --only-upgrade 'php8.3*'※OS標準のパッケージは、バージョン番号を変えずに修正だけを取り込む(バックポート)ことがあります。番号が修正版と一致しなくても対策済みの場合があるため、OSベンダーのセキュリティ情報もあわせて確認してください。
- PHP-FPM/Webサーバーを再起動:パッケージを入れ替えただけでは、動いているプロセスは古いままです
sudo systemctl restart php-fpm
sudo systemctl restart httpd # Apache の場合(nginx なら nginx)- 新しいバージョンで動いているか確認:コマンドラインの php -v だけでなく、WordPressのサイトヘルスなどWeb側からも確認します(CLIとFPMで別のPHPが動いていることがあります)
- ログを確認:エラーログに異常がないか、また修正前に不審なアクセスがなかったかもチェックします
- すぐに更新できない場合の暫定対応:php.ini で session.upload_progress.enabled = 0 にすると一部の攻撃を回避できるとされていますが、完全な対策ではありません。できるだけ早く修正版を適用しましょう
- 8.1以前ならメジャーアップデートを計画:テスト環境で動作確認したうえで、8.3以上へ移行します
攻撃を受けていないか確認する
修正版を入れる前に、すでに攻撃を受けていた可能性もあります。アップデートが終わったら、次の点もあわせて確認しておきましょう。JPCERT/CCも、パッチの適用とあわせて侵害の有無を確認するよう呼びかけています。
- 不審なリクエスト:アクセスログに、普段見ないファイル送信(multipart/form-data)のリクエストがないか。その直後にメモリ上限エラーやHTTP 500エラーが出ていれば要注意
- セッションCookieの異常:異常に長い、または形式のおかしいPHPSESSIDのCookieが発行されていないか
- PHPプロセスの不安定さ:PHP-FPMのワーカーが突然落ちたり、頻繁に再起動したりしていないか(PHP-FPMのログで確認)
- 見覚えのないファイル・ユーザー:最近更新されたPHPファイルや、アップロードフォルダ(wp-content/uploads)内のPHPファイル、WordPressの見覚えのない管理者ユーザーがないか
ただし、攻撃の方法は複数あり、痕跡が残らない場合もあります。「何も見つからなかった=攻撃されていない」とは言い切れない点に注意してください。レンタルサーバーではログを見られる範囲が限られるため、気になる場合はサーバー会社や保守会社に相談しましょう。
弊社の当日の対応
弊社のサーバー(さくらのVPS/Rocky Linux、PHPはRemiリポジトリで管理)では、次のように対応しました。
| 日時 | 対応内容 |
|---|---|
| 10月21日 17:30ごろ | 修正版の公開に備え、本番環境一式(データベース・ファイル・PHP設定など)のバックアップ取得を開始 |
| 10月21日 17:30ごろ | データベースのバックアップをローカルにも保存完了 |
| 10月21日 22:55〜23:17ごろ | 本番は Rocky Linux 9 上で PHP 8.5 を Remi(remi-modular)の RPM で運用している。修正版(8.5.12)公開直後に dnf check-update 等で確認したが、Remi 側のパッケージ更新が追いついておらず 8.5.12 は取得できず、一時的に 8.5.11 のままとした。(OS 標準の PHP パッケージは 8.5 系を提供していない。) |
| 10月21日 22:56ごろ | 暫定的な緩和設定を入れる前に、PHP-FPMの設定ファイルをバックアップ |
| 10月22日 0:17〜1:27ごろ | 手動で再確認。まだ8.5.12は提供されていない状態 |
| 10月22日 0:00〜 | 修正版の配信を毎時0分に自動チェックし、見つかり次第アップデートする仕組みを稼働 |
| 10月22日 8:00:03 | 自動チェックで8.5.12の配信を検知し、アップデートを開始 |
| 10月22日 8:00:59 | アップデート完了。php -v で8.5.12になっていることを確認 |
| 10月22日 10:00ごろ | 手動で再確認し、8.5.12が適用済みであることを確認 |
PHP本体の修正版は21日23時ごろに公開されましたが、Linuxのパッケージとして配信されるまでには時間差がありました。今回は、配信を待つ間は緩和設定でしのぎつつ、配信され次第すぐに自動で適用される仕組みを用意したことで、検知から約1分でアップデートを完了できました。VPSでは「修正版が出た=すぐ入れられる」とは限らない点も、覚えておきたいポイントです。
常日頃からバージョンアップを心がけよう
今回の対応で明暗を分けたのは、日頃からPHPやWordPressを新しいバージョンに保っていたかどうかでした。
サポート中のPHP(8.2〜8.5)を使っていたサイトは、修正版に入れ替えるだけで対応できました。一方で、古いバージョンのまま長く放置していたサイトは、まずPHPのバージョンを大きく上げる必要があり、その過程でテーマやプラグインが動かなくなるリスクも抱えることになります。
対応できずにサービスを終了した例も
実際に今回、オンラインゲーム『ワールドクエスト』は「古い仕組みの上で動いており十分な対策が取れない」として、利用者の情報を守ることを優先し、サービス終了を発表しました。JAGSが運営する『僕の魔界を救って!』も、PHPの脆弱性への対応が困難になったことを理由にサービス終了を決めています。
長年アップデートを先送りにしてきたシステムは、いざ緊急の脆弱性が出たときに「すぐ直す」ことができず、止めるしかないという判断を迫られることがあります。これは企業のWebサイトでも同じです。
日頃からやっておきたい保守・メンテナンス
- PHPはサポート期間中のバージョンを使う:サポートが終わる前に、計画的に新しいバージョンへ移行する
- WordPress本体・テーマ・プラグインをこまめに更新する:古いままだと、PHPを上げたときに動かなくなる原因に
- 使っていないプラグインやテーマは削除する:更新されないものは、それ自体が弱点になります
- 定期的にバックアップを取る:いざというとき、すぐに元に戻せる状態にしておく
- サーバー会社やPHP・WordPressのお知らせをチェックする:緊急の情報にすぐ気づける体制をつくる
こうした日々の積み重ねがあれば、今回のような緊急事態でも「修正版を入れて終わり」で済みます。保守・メンテナンスは、問題が起きたときの被害を小さくするための備えです。
「自分でやるのは不安…」という方へ
今回のような脆弱性は、ある日突然発表され、その日のうちに対応が必要になります。「長いことアップデートしていないので触るのが怖い」「バックアップの取り方がわからない」「そもそも自社サイトのPHPのバージョンがわからない」という方も多いのではないでしょうか。
弊社のサーバー及びWordPress運用サポートでは、こうした日々の保守作業をまるごと代行します。
- 定期バックアップ(データベースを含む)
- アップデート時のバックアップと、不具合が起きたときの対応
- セキュリティチェック
- WordPressの使い方のサポート、コンテンツ作成の支援・代行
| プラン | 月額(税抜) | 主な内容 |
|---|---|---|
| ライト | 10,000円 | 定期バックアップ、WordPress本体・テーマ・プラグインの更新 |
| スタンダード | 20,000円 | ライト+使い方の質問対応、軽微なテキスト修正 |
| プレミアム | 30,000円 | スタンダード+サーバー環境の保守(PHP・Node.jsなどのアップデート含む)、ブログ記事の追加(月4本相当) |
| コンサルティング | 100,000円 | プレミアム+コンテンツ制作のレクチャー、WordPress・SEOのコンサルティング |
今回のようなPHPのアップデートをはじめ、PHPやNode.jsなどサーバー上で動くソフトウェアの保守は、プレミアムプラン以上で対応しています。VPSで運用している方や、サーバーまわりも含めて任せたい方におすすめです。お支払い方法やプランの詳細はサービスページをご覧ください。
「どのプランが合うかわからない」「まずは今回の脆弱性の影響があるか見てほしい」といったご相談だけでも大歓迎です。お申し込みフォームからお気軽にお問い合わせください。2営業日以内に担当者よりご連絡いたします。
こんな方におすすめです
- PHPやWordPressを長い間アップデートしておらず、今さら触るのが不安な方
- バックアップの取り方(特にデータベース)がわからない方
- 今回の脆弱性で、自社サイトに影響があるのか判断できなかった方
- VPSでサイトを運用していて、サーバーの保守まで手が回らない方
- サイトの表示が遅い・つながらないなど、原因がわからない不具合に困っている方
- 社内にWebの担当者がおらず、ホームページを任せられる相手を探している方
レンタルサーバーを契約して以来しばらく管理画面を見ていないという方には特にオススメです
よくある質問
Q. レンタルサーバーなら何もしなくていいですか?
A. 多くのレンタルサーバーでは、PHP本体の更新はサーバー会社が行います。ただし、管理画面で選んでいるPHPバージョンが修正の対象になっているかは会社によって異なります。サーバー会社のお知らせと、選んでいるバージョンは必ず確認しましょう。
Q. WordPressやプラグインの更新は必要ですか?
A. 今回の脆弱性はPHP本体の問題なので、WordPressやプラグインを更新しても直りません。ただし、PHPのバージョンを上げると古いテーマやプラグインが動かなくなることがあるため、あわせて最新の状態にしておくことをおすすめします。
Q. セキュリティプラグインを入れていれば大丈夫ですか?
A. いいえ。セキュリティプラグインはWordPressの上で動くもので、その土台であるPHPの脆弱性は防げません。
Q. PHP 7.4など古いバージョンを使っています
A. PHP 8.1以前はサポートが終了しています。7.4〜8.1向けにも最小限の修正が出たと報じられていますが、今後も同じような問題が起きたときに修正が届かない可能性があります。この機会に8.3以上への移行を検討しましょう。
Q. 自社サイトがPHPを使っているかわかりません
A. WordPressで作られたサイトはPHPで動いています。それ以外のサイトでも、お問い合わせフォームなど一部だけPHPを使っていることがあります。わからない場合は、制作会社やサーバー会社に確認するか、弊社までお気軽にご相談ください。
まとめ
- 今回のPHP脆弱性はCVSS 9.2の「緊急」レベル。WordPressやプラグインの更新では直らず、PHP本体のアップデートが必要
- レンタルサーバーはサーバー会社の対応状況と、選択中のPHPバージョンを確認
- VPSは自分で更新・再起動・動作確認まで行う
- どちらも作業前のバックアップが必須
サイトの安全は、こうした地道な保守の積み重ねで守られています。八尾市をはじめ、ホームページの運用でお困りのことがあれば弊社までお気軽にご相談ください。
参考情報
- ITmedia NEWS:PHPの「緊急」レベルの脆弱性、開発元が修正バージョン公開
- GMO Flatt Security Blog:PHPの重大な脆弱性「php2shell」の概要と対応指針
- piyolog:PHPの2件の深刻な脆弱性についてまとめてみた
- INTERNET Watch:「PHPの深刻な脆弱性」対応で何が起きた?
- Impress Watch:国内大手サービスで緊急メンテやサービス停止
- さくらインターネット:PHPの脆弱性への対応状況について
- Game*Spark:「PHP」重大脆弱性問題で長年運営ゲーム2作品が相次いでサービス終了
最終更新:2026年10月23日 状況は日々変わっています。最新の情報は各公式サイトでご確認ください。
お問い合わせ
お問合せについて、
いざ思いや考えを伝えようとすると、どうすればうまく伝わるか考えてしまったり、
伝えようとしてもうまく話せるか不安になりますよね。
Web サイトやパンフレットの制作を依頼しようと思ってもどう話すか考えると
問い合わせボタンすら押せなくなると思います。
ですが、私達は受託制作のプロですので完璧な話でなくとも
コミュニケーションを取りながら本当に伝えたい本質を探っていきます。
まずはざっくりとしたお話でも構いませんのでお聞かせください。
私達はその本質の中からあなたらしさが何であるか。
そのあなたが表現したいことが何であるかを汲み取ってデザインをご提案させていただきます。