暫定対策は完全ではありません

すべての変体を解決するのは完全な修正です。設定変更はアップロード、性能、可用性に影響します。解析前に管理設定で適用し、全ワーカーを再起動します。両公式資料を確認してください。CDN や WAF は修正の証明になりません。

メモリ設定は慎重に

memory_limit=-1 は PHP 制限に起因する一部 OOM のみを軽減し、OS の割当失敗は残ります。独立したコンテナや cgroup 制限を用意し、RLIMIT_AS と RLIMIT_DATA は使わないでください。デコード後サイズ、multipart ヘッダー、パーツ、深さを制限します。post_max_size のみでは不十分です。

進捗とバックトレース

解析前に session.upload_progress.enabled=0 を適用し再起動します。PHP 8.5 の fatal_error_backtraces=0 は確認済み経路のみを除きます。早期診断を出す無効な INI 設定を除去します。display_errors、error_reporting、@ は問題を防ぎません。すべての変体には対応しません。

実行経路ごとの一時対策

パッチが優先です。それまで要求解析前の管理設定で session.upload_progress.enabled=0 を強制して再起動します。PHP 8.5 の fatal_error_backtraces=0 は別経路を減らします。復号後の要求サイズ、multipart 部品/ヘッダー、入力深度を早期に制限し、正常なアップロードを試験します。エラー表示やログを止めるだけでは診断経路を防げません。

PHP2Shell ツール →

メモリー制限と再利用の限界

管理設定の memory_limit=-1 が除くのは一部の OOM 経路のみです。独立した cgroup/コンテナー制限、アプリによる有限値の復元禁止、再起動が必要です。RLIMIT_AS と RLIMIT_DATA は使わないでください。割当失敗が同じ脆弱経路に入ります。pm.max_requests=1 も一部の状態再利用を高い負荷で減らすだけで、両パッチの代わりにはなりません。

PHP2Shell ツール →

コマンド例 / PHP INI

php.ini
; Temporary measures only. Follow both PHP advisories.
; Apply administratively BEFORE request parsing, then restart workers.
session.upload_progress.enabled = 0
; PHP 8.5 only:
fatal_error_backtraces = 0

; memory_limit = -1 is NOT a complete fix.
; It needs independent OS/container resource containment.
; Never substitute RLIMIT_AS or RLIMIT_DATA.

一次資料と関連情報

PHP security teamSecurity advisory · 21 Oct 2026
CVE-2026-109618GHSA-w8hw-w9fx-j79w · OOM corruption
CVE-2026-109619GHSA-6wmf-4rv5-p3rp · Stale global state
次の対応3. 全環境を再起動して検証 ↗