Web・セキュリティ
PHP公式が追加対策を案内|更新済みでもsession.upload_progress無効化を推奨
PHP公式は2026年10月23日、Session upload progress に関する追加の情報提供を公開しました。
内容は、新しいCVEがもう1件増えたというものではありません。
10月21日に公開された重大脆弱性 CVE-2026-109619 に関連して、PHP公式が
session.upload_progress.enabled=0
を、次回の通常バグフィックスリリースまで設定しておくことを推奨したものです。
PHP公式は、これによって「unlikely RCE vector(可能性は低いがRCEにつながり得る経路)」から完全に保護するため、と説明しています。
この記事はPHP公式の2026年10月23日「Informational advisory: Session upload progress」と、PHP Manualをもとに整理しています。
先に結論
- 新しいCVEが追加されたわけではありません
- 10月21日の CVE-2026-109619 に関連する追加の緩和策です
- PHP公式は、次回の通常バグフィックスリリースまで
session.upload_progress.enabled=0を推奨しています - 10月21日のアドバイザリですでにこの設定を適用している場合、追加対応は不要です
- 重大RCEそのものに対しては、引き続き 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35以降への更新が前提です
session.upload_progress.enabledはデフォルトで有効です- アップロード進捗機能を使っていないサイトでは、無効化を検討する価値があります
10月23日にPHP公式が追加で案内
PHP公式は10月23日、トップページ上で「Informational advisory: Session upload progress」を公開しました。
公式の要点は次の通りです。
session.upload_progress.enabled=0を設定する- 次回の通常バグフィックスリリースまで維持する
- 10月21日のCVE-2026-109619アドバイザリでこの対策をすでに実施済みなら、そのままでよい
つまり、10月21日の修正版が無効になった、あるいは修正に失敗したという発表ではありません。
あくまで、残る可能性のある低確率の攻撃経路をさらに閉じるための追加対策です。
10月21日の重大RCE修正との関係
10月21日、PHPは次の重大脆弱性を修正しました。
- CVE-2026-109618
- CVE-2026-109619
PHP 8.5では 8.5.12、8.4では 8.4.27、8.3では 8.3.36、8.2では 8.2.35 が修正版として公開されています。
PHP公式はこれらを「unauthenticated remote code execution(未認証RCE)」につながり得る重大脆弱性として案内しており、当時からアップデートが安全な選択肢と明記していました。
今回の追加案内は、更新を置き換えるものではありません。
更新したうえで、さらにsession upload progressを無効化するという位置付けです。
session.upload_progressとは
session.upload_progress は、ファイルアップロードの進捗状況をPHPのセッションへ記録し、別リクエストから進行状況を取得できる仕組みです。
PHP Manualでは session.upload_progress.enabled のデフォルト値は 1(有効) とされています。
有効な場合、アップロード中の情報が $_SESSION に書き込まれます。
アップロードプログレスバーなどを実装する際には便利ですが、使っていないサイトでは必須の機能ではありません。
PHP Manual自体も、アップロード進捗表示を利用しないアプリケーションでは、このオプションを無効化することを検討するよう注意しています。
なぜ追加で無効化を推奨したのか
PHP公式は、今回の追加案内で「完全に保護するため」として無効化を推奨しています。
重要なのは、これが新しいゼロデイの発表ではないということです。
CVE-2026-109619のアドバイザリでは、もともと session.upload_progress.enabled=0 が緩和策として掲載されていました。
10月23日の告知は、その対策をより明確に一般利用者へ周知した形です。
何をすればいいか
まず、PHPのバージョンを確認します。
修正版の目安は次の通りです。
- PHP 8.5 → 8.5.12以降
- PHP 8.4 → 8.4.27以降
- PHP 8.3 → 8.3.36以降
- PHP 8.2 → 8.2.35以降
そのうえで、アップロード進捗機能を使用していない場合は、
session.upload_progress.enabled=0
を設定します。
設定方法は利用環境によって異なります。
- php.ini
- PHP-FPMのpool設定
- ホスティングサービスのPHP設定画面
.user.iniが利用できる環境
などがあります。
設定変更後は、実際に反映されているか確認してください。
WordPress利用者はどうする?
通常のWordPressサイトで、独自にPHPのアップロード進捗機能を利用していない場合は、session.upload_progress.enabled を無効化しても影響が出ないケースが多いと考えられます。
ただし、ホスティング環境やプラグイン、独自機能によっては利用している可能性があります。
そのため共有サーバーなどでは、提供元の案内がある場合はそちらを優先してください。
PHP自体の更新がまだの場合は、設定変更だけで済ませず、まず修正版へ更新することが重要です。
「修正版が破られた」という話ではない
今回の件で誤解しやすいのがここです。
PHP公式が10月23日に追加の対策を出したため、
「10月21日のパッチが突破されたのでは?」
と受け取る人もいるかもしれません。
しかし、現時点の公式説明はそうではありません。
10月23日の告知は、CVE-2026-109619で既に提示されていた緩和策を、次の通常リリースまで継続するよう改めて勧める情報提供です。
したがって、
- 修正版への更新は引き続き有効
- さらに
session.upload_progress.enabled=0で防御を厚くする
という理解が適切です。
まとめ
PHPの重大RCE問題は、10月21日の修正版公開だけで完全に話が終わったわけではありませんでした。
10月23日、PHP公式は追加で session.upload_progress.enabled=0 を推奨しました。
ただし、これは新しいCVEや「パッチ突破」の発表ではありません。
CVE-2026-109619に関連する低確率のRCE経路まで閉じるための追加緩和策です。
PHPを利用している場合は、
- 修正版へ更新済みか確認
session.upload_progress.enabledを確認- 使っていなければ一時的に無効化を検討
- 次回の通常バグフィックスリリース後にPHP公式の案内を再確認
という流れで対応すると分かりやすいでしょう。
公式情報
- PHP公式:Informational advisory: Session upload progress
- PHP Manual:Session Upload Progress
- PHP Manual:Session Runtime Configuration
関連する10月21日の重大RCEについては、こちらも参照してください。
関連記事
PHP2Shellは始まりか|Cloudflare CEOが『他の重要ソフトにも重大脆弱性』、AIで発見が加速
Cloudflare CEOのMatthew Prince氏は、PHP2Shell以外にも重要ソフトウェアに複数の深刻な脆弱性が存在すると認識しているとReutersに説明。AIで脆弱性の発見と悪用までの時間が短縮する中、今後数カ月〜数年に何が起きるのか、一般ユーザー・サイト管理者が備えるべきことを
UpdraftCentral経由でWordPress不正侵入|TeamUpdraft公式発表と利用者が確認すべきこと
TeamUpdraftは2026年10月、teamupdraft.comへの不正アクセスとUpdraftCentral接続キー悪用によるWordPressサイト侵入を公表しました。不審な管理者・プラグイン確認、1.26.13以降への更新、パスワード変更などを公式情報ベースで整理します。
Node.js 22.23.4 / 24.22.1 / 26.12.1公開|Brotli RCEなどHigh脆弱性を修正
Node.jsは2026年10月21日に22.23.4、24.22.1、26.12.1を公開しました。Brotli decoderのOut-of-Bounds WriteによるRCE、TLSホスト名検証バイパス、DNSのNUL文字問題などを公式情報ベースで整理します。