PHPの緊急の脆弱性の最新状況|10月23日の追加告知と更新後に見直すこと
2026年10月21日に公表されたPHPの緊急の脆弱性の最新状況を、PHPとAlmaLinuxの公式の告知をもとにまとめました。10月23日の追加の告知の中身、更新を済ませた人が見直す設定と確かめ方を紹介します。
目次
この記事でわかること
- 2026年10月21日に公表されたPHPの緊急の脆弱性の、10月24日時点の公式の状況
- 10月23日にPHPが出した追加の告知(CVE-2026-115560)の中身
- 修正版へ更新した人が、あらためて見直す設定
- 悪用が確認された脆弱性の一覧に載っているか
2026年10月21日、PHPはだれでも外から攻撃できるおそれのある2件の脆弱性(CVE-2026-109618・CVE-2026-109619)を公表し、修正版を出しました。その2日後の10月23日に、関係する機能についての追加の告知が出ています。この記事では、公表から3日たった時点で公式に分かっていることと、更新を済ませた人が見直すことをまとめます。
この記事は、PHPの公式サイトのニュース(10月21日・23日)、AlmaLinuxの告知、米国のCISAが公開している悪用が確認された脆弱性の一覧を、2026年10月24日に読んだ内容にもとづいています。攻撃の方法は書きません。自分のサーバーが対象かの確かめ方と、更新・緩和の手順の全体は、PHPの緊急の脆弱性への対応手順にまとめています。
先に結論: 更新を済ませ、アップロード進捗の設定を見直す
先に結論を書くと、修正版への更新がいちばん大事なことは変わりません。更新を済ませた人は、セッションのアップロード進捗の機能を止めるかどうかを、使っているアプリに合わせて決めます。 見直すことをまとめると、次のとおりです。
| 見直すこと | 目安 |
|---|---|
| PHPの版 | 修正版にする |
| 再起動 | 作業プロセスも |
| 進捗の機能 | 止めるか決める |
| 古い版 | 提供元に聞く |
| 悪用の一覧 | 時々見る |
10月21日に分かったこと
PHPの10月21日の告知では、PHP 8.5.12・8.4.27・8.3.36・8.2.35で、認証なしで外からプログラムを動かされるおそれのある2件の重大な脆弱性を直したとしています。対象は、Webのリクエストを処理しているすべてのPHPで、PHP-FPMやApacheのPHPのモジュール(mod_php)などが含まれます。PHPは、mod_phpの危険がいちばん高いとしています。
それぞれの版の公開のお知らせでは、完全な緩和の方法は無く、更新だけが安全な選び方だとしています。AlmaLinuxの告知では、2件の通称はphp2shellで、PHPはどちらもCVSS v4.0で9.2(重大)と評価しているとしています。
10月23日の追加の告知
10月23日、PHPは「セッションのアップロード進捗」の機能についての告知を出しました。PHPの告知では、次の通常の修正リリースまでのあいだ、session.upload_progress.enabledを0にすることをすすめています。ありそうにない経路での、外からプログラムを動かされる攻撃を完全に防ぐためだとしています。
この問題は、設定とアプリのコードがめずらしい組み合わせのときにだけ起きるとされています。PHPの告知では、次の3つがそろったときだとしています。
- 設定: アプリが設定でセッションの保存の形式(session.serialize_handler)をphp_binaryかphp_serializeにしている
- 切り替え: そのうえで、session_start()を呼ぶ前に、実行中にini_set()で形式をphpへ切り替えている
- 進捗の機能: セッションのアップロード進捗が有効のままになっている
PHPの告知では、実行中に保存の形式を切り替えないアプリなら、この機能を有効のままにしてよいとしています。実際にはありそうにない構成のため通常のリリースの流れで扱い、CVE-2026-115560の詳しい告知は次のリリースで出すとしています。
この設定は、10月21日の告知でも、CVE-2026-109619の緩和として挙げられていました。PHPの告知では、そのときに0にしていれば、そのまま残しておけば追加の作業は要らないとしています。
悪用の状況
PHPの10月21日の告知では、mod_phpでは、アプリのコードが動く前に、認証なしのリクエストで攻撃を起こせることを実際に示したとしています。
米国のCISAは、実際に悪用が確認された脆弱性を一覧にして公開しています。2026年10月23日の版の一覧には、CVE-2026-109618・CVE-2026-109619・CVE-2026-115560はまだ載っていません。一覧は更新されるため、これは公開の時点の状況です。載っていないことを理由に更新を後回しにせず、修正版への更新を先に済ませます。
更新を済ませた人が見直すこと
更新を済ませた人は、次の順で見直します。
- 版を確かめる: 配布元のパッケージの版が、告知の修正版と同じか新しいかを見ます
- アプリを確かめる: 使っているアプリが、実行中にセッションの保存の形式を切り替えていないかを、アプリの作り手の情報で確かめます
- 止めるか決める: 分からないとき、または切り替えているときは、進捗の機能を止めることを考えます
- 再起動する: 設定を変えたら、すべての作業プロセスを再起動します
AlmaLinuxの告知では、修正を取り込んだかを、rpm -q php-commonの結果を告知の修正版と見比べて確かめるとしています。次のコマンドは、版を見るだけで、何も変えません。
# 入っているPHPのパッケージの版を見る(読み取りだけ)
rpm -q php-common
進捗の機能を止めるときは、PHPの告知のとおり、リクエストを読み込む前に効く場所に書きます。PHPの告知では、php.ini、PHP-FPMのプールの設定、サーバーの設定のどれかを使うとしています。実行中のini_set()や、PHP-FPMの.user.iniで変える方法は使いません。
; セッションのアップロード進捗の機能を止める(次の通常の修正リリースまで)
session.upload_progress.enabled = 0
設定のファイルを書き換える前に、元のファイルを写して控えておきます。書き換えたら、作業プロセスを入れ替えるために再起動します。AlmaLinuxの告知では、PHP-FPMで動かしている場合の再起動のコマンドを次のように示しています。
# 設定を変える前に、元の設定ファイルを写して控える(例: php.ini)
sudo cp -p /etc/php.ini /etc/php.ini.before-upload-progress
# 書き換えのあと、作業プロセスを入れ替える(PHP-FPMの場合)
sudo systemctl restart php-fpm
再起動の後は、サイトが表示されること、ファイルのアップロードの画面がある場合はアップロードできることを確かめます。戻し方は、表示されなくなったときに、控えたファイルを元の場所へ写し戻してから、もう一度再起動します。
古い版を使っている場合
PHPの10月21日の告知では、8.1以前はPHPのプロジェクトからの更新が無いとしています。配布元やLTSの提供元が修正を出していることがあるので提供元に確かめるか、サポートされている版へ上げるよう書いています。PHPのセキュリティチームは、ソースから作る人などのために、7.4・8.0・8.1向けの最小限の修正も出しています。
PHP 8.2.35のお知らせでは、8.2は2026年12月31日でサポートが終わり、その後はセキュリティの修正も出ないとしています。今回8.2で更新した人も、新しい版へ上げる計画を立てておきます。WordPressのPHPの版を上げる前の確かめ方は、WordPressのPHPのバージョンを上げる前に確かめることで紹介しています。
自分で見直すか、相談するかの判断
決め方の目安は、「サーバーの設定を自分で変えられるか」です。自分で管理しているサーバーで、版の確かめ方と再起動のしかたが分かっていれば、上の順で見直します。
レンタルサーバーや管理画面でPHPを使っている場合は、PHPの版も設定も提供元が決めていることがあります。AlmaLinuxの告知でも、ホスティングの会社や別のリポジトリから入れたPHPは、その提供元に修正と時期を確かめるよう書いています。提供元のお知らせを見て、分からないことは窓口に聞きます。サーバーの状態を、何も変えずに調べる進め方は、Claude Codeでサーバーの状態を読み取りだけで確かめる方法で紹介しています。
つまずきやすいところ
- 緩和の設定だけで安心する: PHPの告知では、完全な緩和は無く、更新だけが安全な選び方だとしています。設定の見直しは、更新の後に行うものです
- ini_set()や.user.iniで止めたつもりになる: PHPの告知では、これらには頼らず、リクエストを読み込む前に効く場所に書くよう書いています
- 再起動を忘れる: 設定を変えても、作業プロセスを再起動するまで古い設定のまま動き続けます
- エラーの表示を隠して済ませる: PHPの告知では、error_reporting・display_errors・@で表示を隠しても、守りにはならないとしています
まとめ
- 2026年10月21日の2件の脆弱性は、PHP 8.5.12・8.4.27・8.3.36・8.2.35で直っています。更新が最も大事です
- 10月23日の追加の告知では、次の通常の修正リリースまで、セッションのアップロード進捗の機能を止めることをすすめています。実行中に保存の形式を切り替えないアプリなら、有効のままでもよいとしています
- 10月23日の版の、悪用が確認された脆弱性の一覧には、3件はまだ載っていません
- 8.1以前は提供元に確かめ、8.2は12月31日のサポート終了までに上げる計画を立てます
よくある質問
10月23日の告知は、新しい緊急の脆弱性ですか?
PHPの告知では、設定とアプリのコードがめずらしい組み合わせのときにだけ起きる問題で、実際にはありそうにない構成だとしています。そのため通常のリリースの流れで扱い、次のリリースのときに詳しい告知を出すとしています。
PHPを修正版に更新しましたが、まだ何かする必要がありますか?
PHPの告知では、次の通常の修正リリースまでのあいだ、session.upload_progress.enabledを0にすることをすすめています。ただし、実行中にセッションの保存の形式を切り替えないアプリなら、この機能を有効のままにしてよいとしています。
10月21日に緩和の設定をしていれば、追加ですることはありますか?
PHPの告知では、10月21日の告知の緩和としてすでにsession.upload_progress.enabledを0にしていれば、そのまま残しておけば追加の作業は要らないとしています。
攻撃はもう起きていますか?
米国のCISAが公開している、悪用が確認された脆弱性の一覧(2026年10月23日の版)には、3件のCVEはまだ載っていません。一覧は更新されるため、公開の時点の状況として読み、修正版への更新を先に済ませます。
PHP 8.1以前を使っている場合はどうすればよいですか?
PHPの告知では、8.1以前はPHPのプロジェクトからの更新が無いとしています。配布元やLTSの提供元が修正を出していることがあるので提供元に確かめるか、サポートされている版へ上げるよう書いています。