PHPの緊急脆弱性「php2shell」とは?Xサーバー・ロリポップ・楽天などが一斉にメンテナンスを行った理由をわかりやすく解説

【質問】10月20日頃から、Xサーバーやロリポップなどのサーバーをはじめ、楽天などの企業でもPHP関連のメンテナンスが始まっています。これは世界共通のPHPの脆弱性が原因だそうですが、具体的にはどのようなものなのでしょうか?また、最近の個人情報漏洩事件にも、この脆弱性が関与しているのでしょうか?

PHPの緊急脆弱性「php2shell」とは?Xサーバー・ロリポップ・楽天などが一斉にメンテナンスを行った理由をわかりやすく解説

2026年10月20日頃から、Xサーバーやロリポップ!などのレンタルサーバー、さらには楽天をはじめとする多くの企業で、PHP関連の緊急メンテナンスやサービス一時停止が相次ぎました。サイトが表示されなくなったり、管理画面に入れなくなったりして、「何が起きているの?」と不安に感じた方も多いのではないでしょうか。

これは、世界中で使われているプログラミング言語「PHP」に見つかった極めて深刻な脆弱性が原因です。この記事では、「具体的にどのような脆弱性なのか」「なぜこれほど大規模な対応になったのか」「最近の個人情報漏洩事件と関係があるのか」を、専門知識がなくても理解できるように丁寧に解説します。最後まで読めば、疑問がすっきり解消するはずです。

何が起きたのか? 全体の流れを簡単に整理

PHPは、世界のウェブサイトの約70%で使われている非常に普及した言語です。WordPressをはじめ、多くの企業サイトやサービスがPHPで動いています。そのため、PHP本体に重大な問題が見つかると、影響範囲は非常に広くなります。

2026年10月20日、PHPの開発チームは「深刻度の高い脆弱性が2件確認された」と事前告知を行いました。詳細が一部漏えいしたこともあり、翌21日(日本時間23時頃)に緊急の修正版を公開。これを受けて、国内外のサーバー事業者や企業が急いで対策を実施したのです。

日本国内では、エックスサーバー(Xサーバー)やロリポップ!(GMOペパボ)などのレンタルサーバーが予防的なメンテナンスを実施し、管理画面やサービスを一時停止。楽天をはじめとする大企業でも、自社サービスを一時的に止めるなどの対応が取られました。首相からの呼びかけもあったほど、国を挙げての緊急事態でした。

脆弱性の正体は「php2shell」:認証なしでサーバーを乗っ取られる恐れ

今回問題となったのは、CVE-2026-109618とCVE-2026-109619という2件の脆弱性です。セキュリティコミュニティでは「php2shell」という通称でも呼ばれています。

深刻度は、共通脆弱性評価システム(CVSS)v4.0で9.2(最高レベルのCritical)。認証(ログイン)なしで、遠隔から任意のコードを実行できる「リモートコード実行(RCE)」の危険性があります。つまり、攻撃者が特別な権限を持たなくても、悪意のあるリクエストを送るだけでサーバーを乗っ取り、データの盗み見や改ざん、さらなる攻撃の踏み台にできる可能性があるということです。

影響を受けるのは、Webのリクエストを処理しているほぼすべてのPHP環境です。具体的には以下のようなものが該当します。

  • PHP-FPM
  • Apacheのmod_php
  • php-cgi
  • FrankenPHP
  • LiteSpeed など

特に危険度が高いとされているのが「mod_php」です。アプリケーション(WordPressなど)のコードが動く前に攻撃が成立してしまうケースが実証されており、サイト側の対策だけでは防ぎきれない点が深刻でした。

2つの脆弱性の簡単な仕組み

CVE-2026-109618(メモリ不足時の処理の不具合)
PHPがメモリ不足になった際の処理で、内部データが不完全な状態のまま処理が中断されることがあります。その後の後始末で、不正なデータが正しいものとして扱われてしまい、攻撃に悪用される恐れがあります。

CVE-2026-109619(古い状態が残る不具合)
あるリクエストで使っていた内部状態が、メモリ解放後も残ってしまう問題です。同じワーカーが次のリクエストを処理する際に、リセット前の古い状態を使ってしまい、攻撃者にコード実行の機会を与えてしまう可能性があります。

どちらもPHPの根幹部分(メモリ管理やエラー処理)に関わるため、特定のアプリケーションやプラグインに限らず、幅広い環境に影響が及びます。

修正されたバージョンと対象範囲

PHP公式は以下のバージョンで修正を公開しました。

  • PHP 8.5.12
  • PHP 8.4.27
  • PHP 8.3.36
  • PHP 8.2.35

これらの前のバージョンは原則として影響を受けます。なお、PHP 8.1以前は公式の通常修正版が出ていません(一部の古いバージョン向けに最小限のソースコード修正が提供されたケースもあります)。レンタルサーバー各社は、公式修正が無い古いバージョンについても独自のパッチ対応を進めています。

エックスサーバーではPHP 8.2〜8.5を優先して適用し、その後7.4〜8.1などにも順次対応。ロリポップ!も予防的にサービスを一時停止し、修正適用後に再開するなどの動きが見られました。

最近の個人情報漏洩事件とこの脆弱性の関係は?

結論から言うと、今回の「php2shell」が直接の原因となった大規模な個人情報漏洩事件は、現時点(2026年10月22日時点)で確認されていません。

ただし、この脆弱性が悪用されれば、サーバーを乗っ取って個人情報を盗み出すことは十分に可能です。過去の漏洩事件の多くは、別の脆弱性や設定ミス、不正アクセスなどが原因でしたが、今回のような「認証なしでコード実行できる」タイプの穴は、特に危険度が高いです。

パッチ公開前から一部で攻撃の試行が観測されていたという報告もあり、迅速な対応が求められた理由がここにあります。サーバー事業者や企業が予防的にサービスを止めたのも、「漏洩が起きる前に塞ぐ」という判断だったと言えるでしょう。

一般のユーザーが今やるべきこと

レンタルサーバーを利用している場合、多くの事業者はすでに修正パッチを適用済みか、適用を進めています。まずは利用しているサーバー会社のお知らせを確認してください。

自分でサーバーを管理している場合は、以下を確認・実施しましょう。

  1. 現在のPHPバージョンを確認する(コマンドで「php -v」や、WordPressのサイトヘルスなど)
  2. 修正版(8.5.12 / 8.4.27 / 8.3.36 / 8.2.35)にアップデートする
  3. アップデート後にPHP-FPMやApacheなどを再起動する
  4. 古いバージョン(8.1以前)を使っている場合は、サポート中のバージョンへの移行を検討する

すぐにアップデートできない場合の一時的な緩和策として、特定の設定変更(例:session.upload_progressの無効化など)が挙げられていますが、完全な対策はアップデートのみです。公式やIPA(情報処理推進機構)の案内もあわせて確認することをおすすめします。

まとめ:なぜこれほど大きな騒ぎになったのか

今回の件は、「PHPという基盤そのものに、認証なしでサーバーを乗っ取れる穴が開いていた」という点が最大のポイントです。影響範囲が極めて広く、攻撃のハードルも比較的低いため、世界中のサーバー事業者が一斉に動いたのです。

個人のブログ運営者から大企業まで、多くの人が影響を受けましたが、迅速な対応のおかげで大規模な被害が広がる前に抑え込まれつつあります。不安に感じた方は、まずは利用サービスの公式情報を確認し、必要に応じてバージョンをチェックしてみてください。

この記事が、「何が起きたのか」を理解し、納得するための一助になれば幸いです。セキュリティは「自分には関係ない」と思わず、定期的な確認を習慣にすることが大切です。

(本記事は2026年10月22日時点の公開情報に基づいて作成しています。最新の状況はPHP公式や各サーバー会社のお知らせをご確認ください。)

コメント

  1. 匿名 より:

    平素はロリポップをご利用いただき、誠にありがとうございます。

    2026年10月21日(水)に公開されたPHPの重大な脆弱性(CVE-2026-109618 / CVE-2026-109619)への対応として実施しておりましたメンテナンスにつきまして、修正の適用が完了し、2026年10月22日(木) 13時頃にお客様のサイトの表示を再開いたしました。
    公式の修正版が提供されていない古いバージョンのPHPにつきましても、弊社で修正を作成・適用したうえで再開しております。

    お客様には長時間にわたり多大なご不便とご迷惑をおかけいたしましたことを、深くお詫び申し上げます。
    本件の経緯と対応内容、お客様へのお願いを以下のとおりご報告いたします。

    ■ お客様のサイトを停止した理由

    今回の脆弱性は、認証なしで外部からサーバー上のプログラムを実行される(サイトの改ざんやデータの持ち出しにつながる)おそれがある、深刻度の高いものでした。
    ・公式の修正版が出たのはPHP 8.2以降のみで、それより古いバージョンは当社で修正を作成・検証する必要がありました
    ・その間、設定による対策だけでは攻撃を完全には防げない可能性があり、実際に脆弱性を狙ったとみられるアクセスも確認されていました
    ・PHPの実行環境はサーバー側で提供しているもので、お客様ご自身では防ぐことが難しい問題です

    そのため、修正の適用が完了するまで、お客様のサイトとデータを守ることを最優先とし、一時的に表示を停止する判断をいたしました。
    すべてのサイトを速やかに保護するためサーバー単位で停止したため、PHP 8.2以降やPHPを使っていないサイトも表示できない状態となっておりました。

    ■ お客様へのお願い

    ・PHP 8.2以降へのバージョンアップ
    ・WordPressの本体・プラグイン・テーマの更新状況のご確認
    ・サイトの表示、フォーム、ファイルのアップロードなどの動作確認
    そもそも速度が遅いんだよ糞サーバーバーカ