PHP2Shell とは?CVE-2026-109618 / 109619 の影響と対策まとめ
PHP2Shell は PHP 本体の2つの脆弱性の通称。影響する版、修正版(8.5.12・8.4.27・8.3.36・8.2.35)、いちばん危ない使い方、応急処置をまとめた。
2026年10月に公表された PHP の脆弱性「PHP2Shell」について、何が起きるか、どの版が影響を受けるか、何をすればいいかをまとめた。数値はすべて php.net の公式情報にもとづく。
この記事の要点
- PHP 本体の2つの脆弱性(CVE-2026-109618 / CVE-2026-109619)の通称
- ログインなしで、外部からサーバー上のプログラムを実行されるおそれがある
- 影響は PHP 5.4〜8.5 の幅広い版。いちばん危ないのは mod_php
- 修正版は 8.5.12・8.4.27・8.3.36・8.2.35。PHP 8.1 以前には公式の修正版がない
何が起きるか
- ログインなしで、外部からサーバー上のプログラムを実行される
- いちばん危ないのは mod_php(Apache に PHP を組み込む方式)。アプリのプログラムが動く前に攻撃が届く実例がある
- 危険度は CVSS 4.0 で 9.2(10 点満点)
- 修正版の公開前に、内容が外に漏れた
2つの脆弱性
- CVE-2026-109618:メモリ不足の処理の途中で、作りかけのデータを正しいものとして扱ってしまう
- CVE-2026-109619:解放したはずのデータを、同じワーカーの次のリクエストが使ってしまう
影響を受ける版と修正版
| バージョン | 修正版 | 公式の保守 |
|---|---|---|
| PHP 8.5 | 8.5.12 以降 | 2029年12月31日まで |
| PHP 8.4 | 8.4.27 以降 | 2028年12月31日まで |
| PHP 8.3 | 8.3.36 以降 | 2027年12月31日まで |
| PHP 8.2 | 8.2.35 以降 | 2026年12月31日まで |
| PHP 8.1 | なし | 2025年12月31日に終了 |
| PHP 8.0 | なし | 2023年11月26日に終了 |
| PHP 7.4 | なし | 2022年11月28日に終了 |
| PHP 7.3 以前 | なし | 終了 |
今すぐやること
- 自分のサイトの PHP のバージョンを確かめる
- PHP 8.2〜8.5 なら、修正版(8.5.12・8.4.27・8.3.36・8.2.35)以降か確かめる
- PHP 8.1 以前なら、PHP 8.4 か 8.5 への移行を計画する
- すぐ更新できないなら、下の応急処置を入れる
応急処置(完全に防げるのは更新だけ)
CVE-2026-109619
session.upload_progress.enabled=0にして、すべてのワーカーを再起動- 設定は php.ini・FPM のプール・サーバーの設定で行う(
ini_set()や.user.iniでは効かない) - PHP 8.5 は
fatal_error_backtraces=0も設定して再起動 - エラーを隠す(
display_errorsや@)だけでは効かない
CVE-2026-109618
memory_limit=-1(FPM のプールか Apache の設定で。ほかの設定で上書きされないようにする)- アップロード不要なら
post_max_size = 8M、必要なら32M(upload_max_filesizeはそれより小さく) - Web サーバーやプロキシで、リクエストの大きさ・項目数・ヘッダー数・入れ子の深さを制限
- メモリの上限はコンテナや cgroup でかける(
RLIMIT_ASやRLIMIT_DATAは使わない)
版の番号だけでは判断できないことがある
Linux の配布元やサーバー会社は、版の番号を変えずに修正を入れることがある。番号が古く見えても直っている場合があるので、サーバー会社の告知もあわせて確かめる。
よくある質問
PHP2Shell はどれくらい危ない?
危険度は CVSS 4.0 で 9.2(10 点満点)。ログインなしで、外部からサーバー上のプログラムを実行されるおそれがある。
自分のサイトが影響を受けるか知りたい
PHP 5.4〜8.5 なら影響を受ける。修正版(8.5.12・8.4.27・8.3.36・8.2.35)以降なら直っている。このサイトの診断で、版を選ぶだけで分かる。
攻撃はもう起きている?
修正版の公開前に内容が漏れていたため、対応が遅れたサイトは狙われやすい。更新とあわせて、改ざんされていないかも確かめる。
無料ツールPHP2Shell 脆弱性チェッカーPHP のバージョンとサーバー会社を選ぶだけで、危険度と今やることが分かります。参考にした情報
- php.net(2026年10月21日のセキュリティ告知)
- php.net:Supported Versions
- php.net:Unsupported Branches
- php.net:付録(移行ガイド)
この記事の情報
2026年10月22日時点の公開情報にもとづく。最新は php.net と、利用中のサーバー会社の告知を確認すること。
PHP のバージョンとサーバー会社を選ぶだけで、危険度と今やることが分かる。移行の相談もできる。
無料で診断する