PHPの脆弱性「PHP2Shell」とは?影響と今やるべきこと

MacWindowsiPhoneAndroid更新

PHP2Shell(PHP2shell)は、PHPの開発元が2026年10月21日に修正版を公開した2件の重大な脆弱性、CVE-2026-109618とCVE-2026-109619の通称です。PHPは多くのウェブサイトで使われているプログラミング言語です。JPCERT/CCは10月22日に注意喚起を出し、悪用されるとPHPを実行しているプロセスの権限で任意のコードが実行される可能性があるとしています。この記事は2026年10月23日時点の情報です。

要点

PHP2Shellは、多くのウェブサイトを動かすPHPの重大な脆弱性2件です。修正版は8.5.12、8.4.27、8.3.36、8.2.35です。サイト運営者はPHPのバージョンを確認して更新を、NASやルーターの持ち主はメーカーの案内を確認してください。閲覧するだけの人が直すものではありません。

PHP2Shellとはどんな脆弱性ですか?

脆弱性とは、攻撃に使われるおそれのあるソフトウェアの弱点のことです。PHP2Shellは、PHP本体に見つかった2つの別々の弱点が、同時に公表されたものです。

PHPの開発元のセキュリティアドバイザリは、どちらもリモートコード実行の脆弱性だと説明しています。外部の第三者が、サーバーに自分の命令を実行させられるおそれがあるという意味です。アメリカのサイバーセキュリティ・社会基盤安全保障庁(CISA)は、攻撃者がログインしなくても実行できるとしています。深刻度を表すCVSS(バージョン4.0)の値はどちらも9.2です。

  1. CVE-2026-109618:メモリ不足(out of memory)のエラー処理に関する問題です。
  2. CVE-2026-109619:リクエスト処理の内部状態に関する問題です。

PHPはウェブページを送り出すサーバー側で動くもので、スマートフォンやパソコンで動くものではありません。PHPのアドバイザリは、ウェブのリクエストを処理しているすべてのPHPが対象で、PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedを挙げています。中でもmod_phpの危険度が最も高く、実際に動く攻撃方法が確認されているとしています。

どのバージョンで修正されていますか?

PHPの開発元は2026年10月21日に、次の4つの修正版を公開しました。

使っているバージョン修正版
8.5系8.5.12
8.4系8.4.27
8.3系8.3.36
8.2系8.2.35

各リリースの告知には「There are no complete mitigations, updating is the only safe choice.」(完全な緩和策はなく、更新だけが安全な選択肢)と書かれています。

PHP 8.1以前には、PHPの開発元からの更新はもう提供されません。アドバイザリによると、一部のLinuxディストリビューションや長期サポート(LTS)の提供元は修正を独自に取り込んでいるので、提供元に確認するか、サポート中のバージョンに移行するよう求めています。深刻さを考えて、PHPのセキュリティチームは7.4、8.0、8.1向けに最小限のソースコード修正も公開しました。これはPHPを自分でビルドしている人向けのものです。

なお、IPA(情報処理推進機構)は、調査に関わったWiz社の情報として、PHP 5.4以降のバージョンは少なくともどちらか一方の影響を受けると紹介しています。

影響を受けるのは誰ですか?

ほとんどの人は、PHPを直接さわることはありません。個人に関係してくるのは、主に次の3つの場面です。

ウェブサイトを運営・管理している人。 WordPressなどで作ったブログ、小さなネットショップ、サークルのサイトは、PHPで動いていることがよくあります。イギリスの国家サイバーセキュリティセンター(NCSC)は、どのバージョンのPHPを使っている組織も影響を受けるとしています。まずPHPのバージョンを確認する方法を見て、次にWordPressのPHPを更新する方法に進んでください。すでにおかしな点がある場合はホームページが改ざんされたときの対処を読んでください。

NAS、ルーターなど、ブラウザで開く管理画面がある機器を持っている人。 CISAは、PHPはほかのソフトウェアの部品として入っていることが多く、外からは見えにくいとしています。JPCERT/CCも、PHPを組み込んだ製品が影響を受ける可能性があるので、各提供元の情報を確認するよう呼びかけています。Synology(シノロジー)とQNAP(キューナップ)についてはNASとPHP2Shellにまとめています。自分のパソコンが気になる場合はMacとPHP2Shellをご覧ください。

サイトを見たり、ネットで買い物をしたりする人。 脆弱性はサーバー側にあるので、直すのはサイトの運営者です。よくある疑問については、改ざんされたサイトを見るだけで被害を受けるかと個人情報への影響で説明しています。

悪用されているのですか?

2026年10月23日時点で、公的機関の発表は次のとおりです。

  1. CISAは10月21日の注意喚起(10月23日改訂)で、公開した時点ではこれらの脆弱性が実環境で悪用に成功した例を観測していないとしています。
  2. EUの機関向けのサイバーセキュリティ組織CERT-EUは、初期の概念実証コード(PoC)が出回り始めており、攻撃者がすでに悪用している可能性が高まっているとしています。
  3. QNAPは10月22日のアドバイザリで、PHPに対する悪用の試みが公に報告されていると書いています。
  4. JPCERT/CCとIPAの注意喚起には、悪用を観測したという記載はありません。JPCERT/CCは、攻撃を受けた可能性がないかを調べるよう勧めています。

悪用の「試み」とは、誰かがサーバーに攻撃を送り、成功するか試すことです。試みが報告されたからといって、特定のサイトが乗っ取られたことや、あなたの情報が盗まれたことを意味するわけではありません。ただし、修正していないサーバーを公開したままにするのは現実的な危険があるので、どの機関も速やかな更新を求めています。

今すぐ何をすればよいですか?

立場によって違います。

ウェブサイトを運営している場合:

  1. サイトのPHPのバージョンを確認します。方法はPHPのバージョンを確認する方法にあります。
  2. 修正版に更新するか、レンタルサーバー会社にすでに更新済みかを問い合わせます。JPCERT/CCは、十分なテストをしたうえで修正版を適用するよう求めています。
  3. すぐに更新できない場合、IPAはPHPの開発元の緩和策やアクセス制限で一時的に対応し、それでも足りなければ外部からのアクセスの遮断やサービスの停止を検討するよう勧めています。
  4. JPCERT/CCは、修正版に更新したうえで、攻撃を受けた形跡がないかを調べ、監視を続けるよう勧めています。

NASやルーターなどを持っている場合は、メーカーのセキュリティ情報で自分の機種を確認し、更新があれば適用してください。

サイトを利用するだけの場合は、PHP2Shellのために何かをインストールする必要はありません。NCSCの一般的な助言として、メールには強く使い回さないパスワードを使い、2段階認証をオンにしておくと安心です。NCSCは、大きなニュースになっている事件に便乗する犯罪者がいるとも注意しているので、ログインやリンクのクリックを求めるメッセージには気をつけてください。

3つ目の脆弱性もあるのですか?

関連するものの、ずっと小さな問題が1つあります。PHPの開発元は10月23日に、CVE-2026-115560についての情報提供のアドバイザリを出しました。設定とアプリケーションのコードが珍しい組み合わせのときにだけ起きる問題で、実際には起こりにくいとしています。次の通常のバグ修正リリースまでの間、session.upload_progress.enabledを0にする(セッションのアップロード進捗機能を無効にする)よう勧めています。

よくある質問

PHP2Shellはウイルスですか?

いいえ。PHP2Shellは、多くのウェブサーバーで使われているソフトウェアPHPの2つの脆弱性の名前です。対策はPHPの更新で、サーバーの管理者やレンタルサーバー会社が行うものです。自分のスマートフォンやパソコンをスキャンして見つけるものではありません。

自分のパソコンのPHPも更新が必要ですか?

たいていは必要ありません。PHPのアドバイザリは、ウェブのリクエストを処理しているPHPが対象だとしています。サイト制作のために自分でPHPをインストールしている場合は更新してください。詳しくはMacとPHP2Shellをご覧ください。

CVSS 9.2とはどういう意味ですか?

CVSSは、脆弱性の深刻度を点数で表す仕組みです。PHPの開発元は、2件ともCVSSバージョン4.0で9.2と評価し、重大(critical)に分類しています。CISA、CERT-EU、NCSCも重大な脆弱性として扱っています。

レンタルサーバーを使っている場合、PHPの更新は自分でするのですか?

まずレンタルサーバー会社に、修正版のPHPを導入済みかどうかを確認してください。あわせて、自分のサイトがどのバージョンのPHPを使う設定になっているかも確認します。見る場所はPHPのバージョンを確認する方法で説明しています。

PHP 8.1以前を使っている場合はどうなりますか?

PHP 8.1以前には、PHPの開発元からの修正版は出ません。IPAは、サポートされているPHPへの更新や、対策済みの製品・サービスへの移行を検討するよう勧めています。CISAは、8.1以前を使っていてすぐに更新できないシステムはオフラインにするよう勧めています。

出典