特集いま起きているセキュリティの話題
PHPの重大な脆弱性(PHP2Shell)とは?影響と対策をわかりやすく解説
2026年10月24日時点の情報です。状況は日々変わるため、対応の際は必ず末尾の公式情報もご確認ください。
- 何が起きた
- Webサイトを動かすプログラム言語「PHP」に、外部から勝手にプログラムを実行される恐れのある、重大な弱点が2件見つかりました。通称「PHP2Shell」と呼ばれています。
- 誰に関係する
- PHPで動いているWebサイトを運営している方です。WordPressのサイトも、ほとんどがPHPで動いています。
- やること
- PHPを修正版(8.5.12/8.4.27/8.3.36/8.2.35 以降)に更新することです。8.1以前を使っている場合は、サポート中のバージョンへの移行が必要です。
何が起きたのか
2026年10月21日、PHPの開発チームが、2件の重大な脆弱性(CVE-2026-109618、CVE-2026-109619)を修正したバージョンを公開しました。深刻さを表す点数(CVSS v4)は、どちらも 10点満点中 9.2 です。
この弱点を悪用されると、ログインなしで、外部からサーバー上のプログラムを動かされる恐れがあります。PHPは世界中のWebサイトで使われているため、国内でもレンタルサーバー各社が緊急メンテナンスを行い、政府も注意を呼びかける事態になりました。
これまでの経緯
- Amazon が、攻撃を観測するためのおとりのサーバー(ハニーポット)で、この弱点を狙ったとみられる攻撃を確認しました。公表の4日前です。
- 脆弱性の番号(CVE)が公開され、PHPの開発チームが修正版の公開を予告しました。
- 修正版と詳しい情報が公開されました。同じ日に、複数の攻撃者によるとみられる攻撃も報告されています。
- 国内のレンタルサーバー各社が、サイトの一時停止を含む緊急メンテナンスを行い、提供しているPHPに修正を適用しました。
なぜ危ないのか
今回の弱点の怖いところは、次の3つが重なっている点です。
- ログインが要らない:外部から、ふつうのアクセスを送るだけで攻撃できます。
- サイトの作りに関係なく狙われる:PHPそのものの弱点なので、WordPressやプラグインを最新にしていても、PHPが古ければ影響を受けます。
- 乗っ取りにつながる:サーバー上で好きなプログラムを動かされると、サイトの改ざん、情報の盗み出し、ほかへの攻撃の踏み台などに使われる恐れがあります。
影響を受けるバージョン
PHP 5.4 以降のほぼすべてのバージョンが影響を受けます。PHP-FPM、Apache の mod_php、php-cgi など、Webサイトを動かす方式は問いません。
| 使っているPHP | 修正版 | 対応 |
|---|---|---|
| 8.5 | 8.5.12 | 8.5.12 以降に更新 |
| 8.4 | 8.4.27 | 8.4.27 以降に更新 |
| 8.3 | 8.3.36 | 8.3.36 以降に更新 |
| 8.2 | 8.2.35 | 8.2.35 以降に更新。8.2 は2026年12月末でサポートが終わるため、8.3 以降への移行も計画してください |
| 7.4〜8.1 | 公式の修正版なし | 修正用のソースコードのみ公開。サポート中のバージョンへの移行が必要です |
| 5.4〜7.3 | 修正なし | サポートが終わっているため、移行するしかありません |
Linux(Ubuntu・Red Hat など)に標準で入っているPHPは、配布元が独自に修正を取り込んでいることがあり、バージョン番号が上の表と一致しない場合があります。その場合は、OSの配布元のお知らせを確認してください。
あなたは対象? 使い方別のチェック
| サイトの動かし方 | 誰が直す? | やること |
|---|---|---|
| レンタルサーバー(WordPressなど) | 主に事業者 | 事業者のお知らせを確認します。管理画面でPHPのバージョンを選べる場合は、修正済みの新しいバージョンを選びます。古いバージョンを指定したままになっていないかも確認しましょう。 |
| VPS・自社サーバー・クラウドの仮想マシン | 自分 | 自分でPHPを更新し、PHPのプロセス(PHP-FPM や Apache)を再起動します。事業者は直してくれません。 |
| コンテナ(Docker など) | 自分 | 新しいPHPのイメージで作り直して、入れ替えます。 |
| 外部に頼んで作ったサイト | 制作会社・保守会社 | どこで動いていて、PHPのバージョンはいくつか、対応済みかを問い合わせます。 |
| PHPを使っていないサイト | ― | 今回の弱点の影響はありません(静的なサイト、PHP以外の言語で作ったサイトなど)。 |
PHPのバージョンを確かめる方法
- レンタルサーバー:管理画面の「PHPのバージョン設定」などで確認できます。
- WordPress:管理画面の「ツール」→「サイトヘルス」→「情報」→「サーバー」に、PHPのバージョンが表示されます。
- 自分で管理しているサーバー:次のコマンドで確認できます。
php -v
コマンドで表示されるPHPと、Webサイトで実際に使われているPHPが別のこともあります。確実に確かめるには、WordPressのサイトヘルスなど、Webサイト側の情報も見てください。phpinfo() を表示するファイルで確認した場合は、確認後に必ず削除してください(サーバーの情報が丸見えになります)。
今すぐやること
サイトを運営している方
- 自分のサイトがPHPで動いているか、どこのサーバーで動いているかを確認する
- PHPのバージョンを確認し、修正版(上の表)になっていなければ更新する
- 更新後、PHPのプロセスを再起動し、サイトが正しく表示されるか確かめる
- 8.1以前を使っている場合は、サポート中のバージョンへの移行を急ぐ(WordPressのテーマやプラグインが新しいPHPに対応しているかも確認)
- 10月17日以降に、見覚えのないファイルやユーザーが増えていないか、サイトが書き換えられていないかを確認する
会社のIT担当の方
- 社内・グループ会社・委託先を含めて、PHPで動いているシステムを洗い出す(台帳がなければ、これを機に作る)
- インターネットに公開しているものから、優先して更新する
- すぐに更新できないシステムは、インターネットから切り離すことも検討する(米国のCISAも、すぐ直せない場合や8.1以前の場合はオフラインにするよう勧めています)
- 10月17日以降のアクセスログを確認し、不審な点があれば専門家に調査を相談する
設定の変更は「一時しのぎ」です
すぐに更新できない場合の応急処置として、PHPの設定変更(session.upload_progress を無効にするなど)や、WAF(Webアプリを守るファイアウォール)での防御が案内されています。ただし、これらはどれも完全な対策ではありません。根本的な対策は、PHPを修正版に更新することだけです。応急処置をした場合も、できるだけ早く更新してください。
この件から学べること
仕組みをもっと知りたい方は、次の章もあわせてご覧ください。
- 脆弱性とアップデート(セキュリティ編 第9章):CVE・CVSS・パッチ・ゼロデイ攻撃とは
- ネットワークの守り(セキュリティ編 第6章):WAF とは
- ログ監視とインシデント対応(セキュリティ編 第11章):被害が疑われるときの動き方
- バックアップと復旧(セキュリティ編 第10章):改ざんされても戻せるように
- アプリ基盤編:Webサイトがサーバーの上でどう動いているか
この特集の用語(意味と語源)
- PHP ピーエイチピー
Webサイトを動かすためのプログラム言語。WordPress もPHPで作られています。
語源もとは Personal Home Page の略。今は「PHP: Hypertext Preprocessor」という、自分自身を含む名前(再帰的な略語)とされています。
- リモートコード実行(RCE) Remote Code Execution
離れた場所から、相手のコンピューターで好きなプログラムを動かすこと。脆弱性の中でも最も深刻な種類です。
語源remote(遠く離れた)+ code(プログラム)+ execution(実行)。
- PHP2Shell ピーエイチピー・トゥー・シェル
今回の2件の脆弱性の通称。
語源「PHP to Shell」。PHPの弱点から、サーバーを操作する画面(シェル)を奪えることを表しています。
- メモリ解放後の使用 Use-After-Free
もう使い終わって片付けたはずのメモリを、プログラムが誤って使ってしまう不具合。攻撃者に悪用されやすい弱点です。CVE-2026-109619 はこの種類です。
語源use(使う)+ after(後に)+ free(解放する)。
- サポート終了(EOL) End of Life
開発元が修正版を出さなくなること。弱点が見つかっても直らないため、使い続けると危険です。
語源「製品としての寿命(life)の終わり(end)」。
出典・公式情報
- PHP 公式サイト(php.net):修正版のダウンロードとお知らせ
- IPA 重要なセキュリティ情報
- JPCERT/CC
- さくらインターネット:PHPの脆弱性への対応について
- Tenable:PHP2Shell に関するよくある質問(英語)
- watchTowr:CVE-2026-109618 FAQ(英語)
- Datadog Security Labs:PHP2Shell(英語)
本ページは、公開されている情報をもとに、初心者向けにわかりやすくまとめたものです。正確であるよう努めていますが、最新の状況や個別のシステムへの対応は、PHPの公式情報、OSやサーバーの提供元、専門家にご確認ください。
公開:2026年10月24日 / 更新:2026年10月24日