デイリー · 記事 01 · 5 分で読む · 連載 3 話
- セキュリティ
PHP、更新後のアップロード進捗を追加点検するよう勧告
10月23日の公式発表・案内・原文再確認10月24日15:52 JST
要約・概要
PHPは10月23日、特定のセッション設定とコードの組み合わせに追加の保安勧告を出しました。運用担当者は進捗追跡の設定と実行中の形式変更を提供元に聞き、すでに無効なら次の通常の修正版まで維持します。
主な事実
- 誰が見る案内か:サーバーのPHPを運用する担当者です。リモートコード実行(RCE)は、攻撃者がサーバーで意図しないコードを動かせる問題です。使える権限や情報によって、情報の持ち出しやサイト改ざんにつながります。
- 今すること:ホスティング会社に「このアプリのPHP進捗追跡は無効ですか。実行中にセッション形式を変えるコードもありますか」と聞きます。すでに無効なら維持します。
- パッチの状態:8.5.12・8.4.27・8.3.36・8.2.35は先の2件の修正版です。10月23日の追加案内は特定の設定とコードの組み合わせについてで、新たな修正版の番号や公開日は未発表です。
- PHPは10月23日19:12:28 JSTに、次の通常の修正版まで
session.upload_progress.enabled=0を勧めました。追加の識別番号はCVE-2026-115560で、正式な案内は次のリリースとともに出す予定です。実行中にセッション形式を変えないアプリは、有効のままにできるという例外も示しています。PHPの追加案内

1. 写真を送る仕事と進み具合を記録する仕事
写真のアップロード中に出る進捗バーを思い浮かべてください。ファイルがサーバーへ移動する間、PHPの進捗追跡は転送の状態をセッション情報に記録します。その機能を使うアプリは記録を読んで進み具合を表示できます。機能の説明
セッションは、複数の要求にまたがって使う情報をサーバーに保管する仕組みです。たとえばアプリが進み具合を再び尋ねるとき、前に記録した状態を探すために使えます。保存と読み出しの形式は session.serialize_handler が決めます。セッション設定
- 写真をサーバーへ送るファイルの転送
- 転送の状態をセッションに記録PHPの進捗追跡の仕事
- アプリが記録を読んで進み具合を表示その機能を使うアプリの表示
進捗追跡を無効にすると、その状態記録が止まります。アップロードとアプリの進捗表示をそれぞれ試します。
猫と一緒に読み解く Q&A
- 猫の研究員
進み具合をサーバーにも記録するのはなぜ?
ポケットノートアプリがサーバー側の転送状態をまた尋ねられるようにするためだよ。この追跡を止めることとファイル転送を止めることは別なので、変更後はアップロードと進捗表示をそれぞれ試そう。
2. 三つの条件を一緒に見る
案内の組み合わせは、開始時の設定が php_binary または php_serialize で、アプリが実行中に ini_set() で php へ変えてから session_start() を呼び、進捗追跡も有効な場合です。
ini_set() は実行中に一部の設定を変える関数、session_start() はセッションを始めたり、保存済みの情報を読んで再開したりする関数です。実際の設定値に加え、情報を読む前にアプリが何をするかも見ます。設定を変える関数・セッションを始める関数
- 開始時の設定:php_binary または php_serialize
- +アプリが ini_set() で php へ変えてから session_start() を呼ぶ
- +PHPのアップロード進捗追跡も有効
組み合わせに当たるか調べ、すでに進捗追跡を無効にした場合は維持します。
猫と一緒に読み解く Q&A
- 猫の研究員
ホスティング会社は設定、開発者はコードを見るの?
ポケットノートホスティング担当者はWeb用PHPの有効な設定を、アプリやプラグインの担当者は開始前の形式変更を調べられるよ。両方を合わせて、案内の組み合わせに当たるか判断するんだ。
3. 同じバージョンが表示される三つのサイト
架空の「月ホスティング」の例で、実際の診断ではありません。三つともPHP 8.4.27ですが、設定とコードが異なるため、今回の案内に照らして見る結果も変わります。
A・形式を維持
- 開始時の形式
- php
- 実行中の変更
- 変更しない
- 進捗追跡
- 有効
- 今回の経路について
- 指定された形式変更の条件に当てはまらない
B・開始前に形式を変更
- 開始時の形式
- php_serialize
- 実行中の変更
- phpに変更 → セッション開始
- 進捗追跡
- 有効
- 今回の経路について
- 案内の組み合わせに当たり、対策が必要
C・進捗追跡を無効に
- 開始時の形式
- php_serialize
- 実行中の変更
- phpに変更 → セッション開始
- 進捗追跡
- 無効
- 今回の経路について
- この経路への推奨設定を適用した状態
猫と一緒に読み解く Q&A
- 猫の研究員
同じバージョンのAとBで対策が違うのはなぜ?
ポケットノートバージョンは入っているPHPを、カードはアプリ側の設定と処理順を示しているよ。先の修正を維持しながら、追加の条件も別に見る必要があるんだ。
4. ホスティング会社への質問と変更後の試験
「このアプリのWeb用PHPで session.upload_progress.enabled の有効値と開始時の形式は何ですか。アプリはセッション開始前に形式を変えますか。今回の推奨設定と次の修正への対応予定も教えてください」と聞けます。
この設定は、アプリの ini_set() 一行で無効にできません。PHPは INI_PERDIR に分類しており、反映される設定場所を提供元と調べます。先の保安案内は、要求を読み取る前に適用する php.ini・FPMプール・サーバー設定と、全ワーカーの再起動を指定しています。ini_set() やFPMの .user.ini に依存しないよう明記しています。設定できる場所・PHPの適用手順
変更後は、写真のアップロード、進捗表示、ログイン・セッション機能をそれぞれ試します。PHPのバージョン変更も必要なら、先にバックアップとテーマ・プラグインの互換性を調べます。WordPressの運用案内
猫と一緒に読み解く Q&A
- 猫の研究員
無効にしたと聞いたら、何を記録しておく?
ポケットノートこのアプリのWeb要求に反映された値、設定場所、適用時刻を残そう。機能試験の結果と次のパッケージの予定もあれば、次の対応につなぎやすいよ。
5. Cloudwaysが終了した案内の範囲
サーバー環境を提供・管理するホスティング会社Cloudwaysは、既存のPHP事象を10月23日21:38:45 JSTに resolved としました。終了文には新しいCVEや個別アプリの設定を調べた結果はありません。Cloudwaysの案内
以前に報告したWeb用PHP 8.4.27の観測は10月22日14:03 JSTの記録です。今回の編集では、そのアプリの設定・コードを再び調べたり変更したりしていないため、追加条件に当たるかは未確認です。
猫と一緒に読み解く Q&A
- 猫の研究員
提供元の終了と、自分のアプリの結果はどう残す?
ポケットノート終了時刻は先の配布記録に、今回のセッション条件への回答はアプリ別の点検記録に残そう。過去のバージョン表示を、新しい設定点検の結果として書き換えないことだね。
まとめ
次の修正版まで続ける対応
適用済みの保安更新と進捗追跡の無効化を維持します。次の通常リリースでは、CVE-2026-115560 の修正を含むかと、提供元がWeb用PHPへ反映したかを合わせて見ます。
出典
- PHPの追加案内php.net
- 機能の説明php.net
- セッション設定php.net
- 設定を変える関数php.net
- セッションを始める関数php.net
- 設定できる場所php.net
- PHPの適用手順php.net
- WordPressの運用案内wordpress.org
- Cloudwaysの案内status.cloudways.com