2026年10月21日、PHP 本体に外からサーバーを乗っ取られるおそれのある脆弱性が2件公表され、修正版が出ました。お使いの PHP の版を下に貼ると、この2件に該当するかどうかと、上げるべき版をその場で表示します。
10月23日の追記: PHP 公式が追加の勧告(CVE-2026-115560)を出しました。条件に当てはまるアプリでは、修正版へ更新した後も session.upload_progress.enabled=0 を保つ必要があります。追加勧告の条件を確かめてください。
版の数字が分からなくても大丈夫です。下の 1〜3 のうち、当てはまるものを1つ選んで読んでください。
ご自身で対応することはありません。
これらのサービスは、サイトを動かすサーバーをサービスの会社がまとめて管理しています。お使いの方がサーバーに PHP を置いて動かす仕組みではないため、今回の脆弱性への対応はサービスの会社が行います。対応のために、サービスが一時的に止まることがあります。
ただし、別のサイト(ブログやお問い合わせフォームなど)をレンタルサーバーに置いているときは、そちらについて 2 か 3 を読んでください。
サイトを作った会社か、サーバー会社に、この文面を送ってください。メールでも、問い合わせのページでもかまいません。「(ここにサイトのアドレスを書いてください)」の所は書き換えてから送ってください。
文面はこの欄で書き直せます。このページは文面をどこにも送りません。
管理画面に PHP のバージョンが出ています。主なレンタルサーバーでは、次の場所です。
出ている版の数字(例: 8.3.12)を、すぐ下の欄に貼ると、該当するかどうかが分かります。
今は、各社が緊急の点検のために管理画面を一時的に止めていることがあります。入れないときは、各社のお知らせを見てください。
上の 1〜3 で済んだ方は、ここから先は読まなくてかまいません。版の数字が分かった方は、すぐ下の欄に貼ってください。
| 系列 | この版より前が該当 | 上げる先 |
|---|---|---|
| 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-31 で公式のサポート終了) |
| 8.1・8.0・7.4 | すべて(版の数字では、修正が入っているか見分けられません) | PHP 公式の通常の保守リリースは終わっていて、新しい版は出ません。今回は例外として、PHP 公式がソースから組み立てる人向けに最小限の修正を公開しています。OS やサーバー会社・LTS ベンダーの修正があるかも確かめてください。基本は、サポートの続く 8.2 以降へ上げてください |
| 7.3 以前 | すべて | PHP 公式の通常の保守リリースは終わっていて、今回の最小限の修正の対象にも入っていません。OS やサーバー会社・LTS ベンダーの修正があるかを確かめるか、サポートの続く 8.2 以降へ上げてください |
この表は10月21日の2件(CVE-2026-109618・CVE-2026-109619)の修正版です。上の版でも、10月23日の追加勧告の条件に当てはまるときは設定が必要です。
PHP 公式は、Web のリクエストを処理しているすべての PHP(PHP-FPM、Apache の mod_php、php-cgi、FrankenPHP、LiteSpeed)が対象としています。
php -v で版を見ます。Web で動いている PHP とコマンドの PHP が違うことがあるので、phpinfo() でも確かめてください(確かめた後は、その画面を必ず消してください)。ubuntu・deb・el などが付くときは、OS が修正を取り込んでいて、数字が古く見えても直っている場合があります。OS の公式のお知らせで確かめてください。根本の解決は修正版への更新だけです。PHP 公式は、更新までのあいだ特定の攻撃の道筋を減らす設定を示していますが、これで安全になるわけではありません。
session.upload_progress.enabled = 0 にして、PHP を動かしているすべての worker を再起動する。php.ini・PHP-FPM のプール設定・サーバーの設定など、リクエストの処理より前に効く場所で設定します。ini_set() や PHP-FPM の .user.ini に頼らないよう、PHP 公式は書いています。レンタルサーバーの管理画面で php.ini を変えられる場合も、その設定がどこに入るかはサーバー会社に確かめてください。memory_limit・post_max_size などの設定も示されています。詳しくは PHP 公式の発表を見てください。暫定策を入れても、修正版への更新は必ず行ってください。また session.upload_progress.enabled = 0 は、更新した後も外さないでください(次の項)。
PHP 公式は10月23日、Session upload progress について追加の勧告を出しました(CVE-2026-115560。詳しい勧告は次の通常の更新と一緒に出る予定です)。8.5.12・8.4.27・8.3.36・8.2.35 は元の2件の修正版ですが、次の条件がすべてそろうアプリでは、起こりにくいもののリモートからのコード実行の道筋が残るとしています。
session.serialize_handler を php_binary か php_serialize にしているini_set() で session.serialize_handler を php に切り替えてから session_start() を呼ぶsession.upload_progress.enabled が有効のままPHP 公式は、次の通常のバグ修正リリースまで session.upload_progress.enabled=0 にしておくよう勧めています。10月21日の暫定策でこの設定を入れた方は、修正版へ更新した後も戻さず、そのまま保ってください。この設定は「更新までのつなぎ」ではなく、追加勧告の修正が出るまで続けるものです。
有効に戻してよいのは、次のどちらかに当てはまる場合だけです。
設定の場所と再起動は、上の暫定策と同じです(php.ini・PHP-FPM のプール設定・サーバーの設定で行い、すべての worker を再起動する)。
上の判定欄は版の数字を比べるだけなので、この条件に当てはまるかは判定しません。
LP-Patrol では、先着50組織に3か月無料で、サイトの外からの定期的な点検をお試しいただけます。無料で申し込む