結論: **「PHP2Shell」は、PHP本体で見つかった、2つの重大な脆弱性(CVE-2026-109618・CVE-2026-109619)の通称です。認証なしで、遠隔からコードを実行されるおそれがあり、深刻度は、ともにCVSS v4.0で9.2(Critical)**です。2026年10月21日に、修正版(PHP 8.5.12・8.4.27・8.3.36・8.2.35)が公開され、国内でも、多くのサービスが、緊急メンテナンスや一時停止を行いました。根本的な対策は、PHP本体を修正版にして、再起動することです。
この記事は、2026年10月29日時点の、公開されている情報に基づいています。続報で内容が変わる可能性があるため、最新は、PHPの公式情報と、お使いのサービスのお知らせを確認してください。攻撃の具体的な手順は、ここでは扱いません。
何が起きたのか
| 日付 | 出来事 |
|---|---|
| 10月20日ごろ | 重大な脆弱性の修正が予告された。この時点では、技術的な詳細や、修正版の番号は、未公開だった |
| 10月21日 | PHP開発チームが、2件の脆弱性と、修正版を公開(日本時間の夜) |
| 10月21〜22日 | 国内のレンタルサーバー、ECサービスなどが、緊急メンテナンスや、一部サービスの一時停止を実施 |
| 10月22日 | ロリポップが、PHP 5.3〜8.5の全系列に、修正を適用し、サイトの表示を再開したと報じられた |
| 10月26日以降 | 米当局が、この脆弱性の悪用を確認したとして、注意を呼びかけたと報じられた |
さくらインターネット、KUSANAGI、BASE、カラーミーショップなどからも、パッチの適用や、緊急メンテナンスが公表されました。
「2つの脆弱性」を、やさしく言うと
- **CVE-2026-109618:**メモリが足りなくなって、処理が途中で止まった時に、内部のデータが、中途半端な状態で残り、後片付けの処理が、それを正しいデータとして扱ってしまう不具合
- **CVE-2026-109619:**あるリクエストが使っていた内部の状態が、メモリを解放したあとも残ってしまい、次の処理に影響する不具合
どちらも、組み合わせると、**サーバー上で、外部から指示したプログラムを動かされる(RCE)**可能性がある、とされています。ログインなどの認証が、必要ないため、深刻度が、高く評価されました。深刻度の見方は、CVSSとはで解説しています。
影響を受けるバージョンと、修正版
| PHPの系列 | 修正版 | 補足 |
|---|---|---|
| 8.5系 | 8.5.12 | 8.5.11以前が対象 |
| 8.4系 | 8.4.27 | 8.4.26以前が対象 |
| 8.3系 | 8.3.36 | 8.3.35以前が対象 |
| 8.2系 | 8.2.35 | 8.2.34以前が対象 |
| 8.1以前 | 公式の修正版なし | 7.4・8.0・8.1向けには、最小限の修正ソースが提供された。サポート対象への移行が必要 |
セキュリティ企業の調査では、問題の根は古く、PHP 5.x、7.x、8.xに広く影響すると考えるべきだと報じられています。Linuxの配布元(Ubuntuなど)は、バージョン番号が古く見えても、修正を取り込んだパッケージを提供している場合があります。番号だけで判断せず、配布元の案内を確認してください。
誰が、何をすればいいのか
なぜ、多くのサービスが止まったのか
- **PHPが、広く使われているため:**ブログ、ECサイト、会員サイト、大学や自治体のサイトなど、多くのWebサイトの裏側で、動いています(PHPについては、PHPとはを参照)
- **認証なしで、遠隔から攻撃できるおそれがあるため:**攻撃の前に、修正を適用するほうが、安全だと判断された
- **修正の適用に、再起動が必要なため:**メンテナンスのために、一時的に停止する必要があった
**サービスの停止は、被害を受けた、という意味とは限りません。**予防的な措置として、停止した例もあります(たとえば、ツイキャスは、10月21日に、不正アクセスに伴う措置ではないと明記して、予防的に停止しました。10月28日の停止は、別の件として報じられています)。