PHPに認証不要のRCE脆弱性2件が発覚、開発チームが修正版を公開し即時適用を呼びかけ
公開:
更新:
認証不要でリモートコード実行が可能な2件の脆弱性
PHP開発チームは、認証されていないリモートの攻撃者によるコード実行(RCE)を許す恐れがある2件の極めて重大な脆弱性を修正した最新版(PHP 8.5.12、8.4.27、8.3.36、8.2.35)を緊急公開した。
PHP-FPM、Apache(mod_php)、php-cgi、FrankenPHP、LiteSpeedなど、Webリクエストを処理するすべてのPHP環境が対象となる。特にmod_php構成では、アプリケーションコードが実行される前に悪用が成立する実証例が確認されており、最も危険性が高いと警告されている。
- CVE-2026-109618(OOMによるメモリ破損): メモリ不足(OOM)処理中にリクエスト内部データが不完全な初期化状態のまま中断され、その後のクリーンアップ処理で無効なデータを有効と誤認してしまう欠陥。
- CVE-2026-109619(古いグローバル状態の残存): リクエスト所有の内部状態がメモリ解放後も残り、同一ワーカーで後続のリクエストが処理される際に初期化前の古い状態を参照してしまう欠陥。
アップデート手順と緊急緩和策
開発チームは全ユーザーに対し、各サポートブランチの最新版への即時アップデートを強く推奨している。公式サポートが終了しているPHP 7.4、8.0、8.1向けにもソースコード用の最小限のバックポートが例外的に提供されている。なお、ボランティア運営の「rpms.remirepo.net」への反映には遅れが出る見込みのため、ディストリビューション公式パッケージへの切り替えやソースビルドの検討が求められている。
即時アップデートが困難な環境に向けた暫定的な緩和策は以下の通り(※完全な防御にはならずリスク低減にとどまる)。
- CVE-2026-109618対策: FPMプールやApache設定で
php_admin_value memory_limit -1を指定してPHP側の制限解除を徹底し、post_max_sizeを必要最小限(アップロード不要なら8M、必要なら32M)に制限する。 - CVE-2026-109619対策:
session.upload_progress.enabled = 0を設定してワーカーを再起動する。PHP 8.5環境ではfatal_error_backtraces = 0も併せて適用する。