
- php2shell(CVE-2026-109618 / CVE-2026-109619)の修正版は PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 です。PHP公式は「完全な対策は更新だけ」としています[php.net]。
- 対策は「棚卸し」「修正版への更新」「更新までの暫定策」「更新後の確認」の4段階で進めます。この記事の表をそのまま確認表として使えます。
- Linuxディストリビューションのパッケージは、上流と番号が違っていても修正済みのことがあります。番号だけで判断しないでください。
このチェックリストの使い方
php2shellは、PHP本体に見つかった2件の脆弱性(セキュリティ上の欠陥)の通称です。PHP公式は、認証なしで外部からプログラムを実行される(RCE)おそれがあるとして、2026年10月21日に修正版を公開しました。対象は、PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webのリクエストを処理するすべてのPHPです[php.net]。脆弱性の中身と最新の状況はphp2shellの解説記事にまとめています。
この記事では、やることを4段階に分けて確認表にしました。上から順に進め、終わった項目に印をつけていってください。レンタルサーバーを使っている会社と、VPS・自社サーバーを管理している会社とで、担当が変わる項目があります。表の「担当の目安」の欄を参考にしてください。

1. 棚卸し:PHPを使っているものを洗い出す
IPAは、自組織で開発・運用しているプログラムや利用している製品について、PHPの利用状況を可能な範囲で棚卸しし、すぐに対策を適用できるよう準備するよう求めています。製品の中にPHPが組み込まれていないかを、マニュアルや提供元のセキュリティ情報で確かめることも挙げています[IPA]。
| 確認 | 項目 | 担当の目安 |
|---|---|---|
| □ | コーポレートサイト、採用サイト、EC、予約システム、問い合わせフォーム、社内ツールなど、PHPで動いているものを一覧にした(制作会社に任せているサイトも含む) | 自社 |
| □ | サイトごとに、サーバーの種類(共用レンタルサーバー/VPS・専用サーバー・クラウド)と契約先を書き出した | 自社 |
| □ | サイトごとに、いま動いているPHPのバージョンを確かめた(確認方法) | 自社・制作会社 |
| □ | PHPを組み込んだ製品(CMS、業務パッケージなど)がないか、提供元の告知を確かめた | 自社 |
| □ | 誰が、いつ更新するかを決め、制作会社・サーバー会社・保守業者の連絡先をそろえた | 自社 |
制作会社やサーバー会社に問い合わせるときの文面は、「社内にエンジニアがいない会社のためのphp2shell対応ガイド」にテンプレートを載せています。
2. 修正版に更新する
使っているPHPの系列(8.5、8.4などのバージョンの区切り)ごとに、当てる修正版が決まっています。8.1以前には、PHP公式の修正版は出ていません[php.net]。

| 確認 | 項目 | 担当の目安 |
|---|---|---|
| □ | 更新の前に、ファイルとデータベースのバックアップを取った | 自社・保守業者 |
| □ | 【共用レンタルサーバー】サーバー会社の告知で、修正版の適用予定と完了を確かめた(各社の対応状況) | 自社 |
| □ | 【VPS・自社サーバー】ディストリビューションの修正済みパッケージに更新した。PHP公式は、ディストリビューションと長期サポートの事業者には事前にパッチを渡したとしている[php.net] | 自社・保守業者 |
| □ | 【remiのリポジトリを使っている場合】PHP公式は、rpms.remirepo.net には当日は更新が出ないとして、ディストリのパッケージへの切り替えかソースからのビルドを勧めている[php.net]。どちらにするかを決めた | 自社・保守業者 |
| □ | 【8.1以前】サポート中の系列(8.2〜8.5)への切り替えを決めた。8.2は2026年12月31日にサポートが終わるため、移るなら8.4か8.5が目安[php.net] | 自社・制作会社 |
| □ | 更新後に、PHP-FPMまたはWebサーバーを再起動した | 自社・保守業者 |
Ubuntuは10月21日に修正済みのパッケージを公開しました(USN-8948-1)。たとえば24.04 LTSのphp8.3は 8.3.6-0ubuntu0.24.04.13、22.04 LTSのphp8.1は 8.1.2-1ubuntu2.28 が修正版です[Ubuntu]。上流の8.3.36などとは番号が違いますが、修正は取り込まれています。海外の解説記事も、バージョン番号だけで判断せず、ディストリビューションのセキュリティ情報を確かめるよう勧めています[abgeo.dev]。手順は「VPS・自社サーバーのPHPを修正版に更新する手順」にまとめています。
パッケージを入れただけでは、古いワーカー(リクエストを処理するPHPのプロセス)が動き続けます。同じ記事は、PHP-FPMかWebサーバーを再読み込み(reload)ではなく再起動するよう書いています[abgeo.dev]。
8.1以前から上げるときは、古いテーマやプラグインが動かなくなることがあります。進め方は「PHP 8.1以前を使い続けるリスクと、バージョンアップの進め方」をご覧ください。
3. 更新までの暫定策
サーバー会社の作業待ちなどで、すぐには更新できないこともあります。PHP公式は、更新するまでの緩和策を示しています。ただし、特定の攻撃の経路を減らすだけで、安全にするものではないとしています[php.net]。
| 確認 | 項目 | 担当の目安 |
|---|---|---|
| □ | session.upload_progress.enabled = 0 をphp.iniかFPMのプール設定で入れ、すべてのワーカーを再起動した。ini_set() や .user.ini には頼らない[php.net] | 自社・保守業者 |
| □ | memory_limit=-1 をアプリから上書きできない形で入れ、post_max_size を小さくした(アップロードが不要なら8M、必要なら32M)[php.net] | 自社・保守業者 |
| □ | 【PHP 8.5】fatal_error_backtraces = 0 を入れ、すべてのワーカーを再起動した[php.net] | 自社・保守業者 |
| □ | すぐに更新できない公開サイトについて、公衆網から切り離すかを検討した。CERT-EUが、修正を当てられない場合の選択肢として挙げている[CERT-EU] | 自社 |
設定を変えるとサイトの動きが変わることがあり、共用のレンタルサーバーでは変えられない項目もあります。緩和策ごとの効果と副作用は「php.iniの設定変更やWAFで防げる? php2shellの暫定策の効果と限界」で比べています。
4. 更新後の確認
| 確認 | 項目 | 担当の目安 |
|---|---|---|
| □ | Web側で動いているPHPのバージョンを確かめた(WordPressなら「ツール」→「サイトヘルス」→「情報」→「サーバー」)。コマンドの php -v だけでは判断しない | 自社・保守業者 |
| □ | トップページ、問い合わせフォームの送信、ログイン、注文や予約の流れを試した | 自社・制作会社 |
| □ | 見覚えのないファイル、WordPressの管理者アカウント、cron(定期実行)の登録、アクセスログを確かめた(確かめ方) | 自社・保守業者 |
| □ | 暫定策で入れた設定のうち、業務に影響するものを外すか、残すかを決めた | 自社・保守業者 |
| □ | 確認した日時と結果を記録した | 自社 |
更新より前に入り込まれていた場合、その跡は更新したあとも残ります。怪しいものを見つけたら、消す前にログを残し、サーバー会社や保守業者に相談してください。
やってはいけないこと
- ネット上の「PoC(攻撃の検証コード)」を自分のパソコンやサーバーで動かす:海外の解説記事は、偽の攻撃コードでマルウェアを入れられることがあるとして、手元で実行しないよう警告しています[abgeo.dev]。
- WordPressのプラグインで防げると考える:問題はPHP本体にあり、アプリのコードより前に起きるため、プラグインやアプリ側の修正では直せないとされています[abgeo.dev]。サーバーのPHPを更新してください。
- 緩和策を入れたので更新を後回しにする:PHP公式は、完全な対策は更新だけとしています[php.net]。
PHPを使っているサイトの洗い出し、修正版への更新と動作確認、8.1以前からの切り替え、更新後の侵害チェックまでお受けします。無料相談はこちら


