PHP、Brotliのメモリ破損脆弱性を修正するWindows向け緊急アップデートを公開

PHP開発チームは、Brotli解凍処理に存在するメモリ破損の脆弱性を修正するため、Windows向けの更新パッケージを公開しました。この脆弱性を悪用されると、リモートコード実行(RCE)を許す恐れがあります。

2026年10月26日に発表された今回の再ビルド版にはBrotli 1.2.1が組み込まれており、PHPの4つのリリースブランチが対象です。修正されたのは依存ライブラリの欠陥で、特定のHTTPクライアント構成を通じて到達できます。

更新されたビルドは、PHP 8.5.12-1、8.4.27-1、8.3.36-1、8.2.35-1です。この脆弱性はCVE-2026-111497として追跡されており、Brotliデコーダーにおける境界外書き込みの問題です。GoogleのBrotliリリースノートは、この欠陥の結果としてリモートコード実行が起こり得ると明記しています。

PHPの発表によると、HTTPレスポンスの自動解凍が有効な場合、WindowsアプリケーションはPHPのcURL拡張機能を介して、脆弱なBrotliデコーダーに到達する可能性があります。

このリスクが生じるのは、アプリケーションが圧縮されたレスポンスを処理する場合です。PHP製のWebサイトに届くすべてのリクエストが脆弱性を引き起こすわけではありません。

cURLでは、レスポンスの自動解凍は既定で無効です。ただし、アプリケーションやHTTPクライアントライブラリがこの機能を有効にしている場合があります。そのため、管理者はcURLの既定の挙動だけでは影響の有無を判断できません。

どのWindows環境で早急な対応が必要かを見極めるには、アプリケーションの設定やライブラリの構成を確認することが重要です。

ここで注意したいのは、WindowsでPHPを使っているというだけでは、特定のアプリケーションで脆弱なデコーダーに到達できる証拠にはならないという点です。

公表されている攻撃経路は、cURL拡張機能と、有効化された自動解凍に依存します。とはいえ、影響を受ける依存ライブラリを置き換えることで、更新後のパッケージから根本的な脆弱性は取り除かれます。

PHPは、末尾の「-1」が、依存ライブラリを更新したWindowsパッケージの再ビルド版であることを示すと説明しています。これらのパッケージは元のパッケージと同じPHPソースリリースを使用しており、PHPランタイムのバージョンは変わりません。

したがって、管理者は対策状況を確認する際、インストール済みのWindowsパッケージのリビジョンとランタイムのバージョンを区別する必要があります。

今回のセキュリティアップデートは、新しいPHPソースリリースではなく、依存ライブラリの更新です。対応する基本のランタイムバージョンが表示されていても、再ビルドされたWindowsパッケージを導入したことを確認できなければ、修正済みとみなすべきではありません。

管理者は、PHP公式のダウンロードページから再ビルド版のパッケージを入手し、環境に合ったアーキテクチャとスレッドセーフ版/非スレッドセーフ版を選択してください。

PHPのインストールガイドでは、FastCGIやコマンドラインでの利用にはNon-Thread Safe(非スレッドセーフ)ビルドを、マルチスレッドのサーバーモジュール構成にはThread Safe(スレッドセーフ)ビルドを使うよう案内しています。

セキュリティチームは、HTTPレスポンスの自動解凍を有効にしているWindowsアプリケーションを優先的に対応し、デプロイ時にパッケージのリビジョンを確認してください。

PHPの発表には、CVSSスコアも、実際に悪用されているとの報告もありません。そのため、確認されている事実は、デコーダーの境界外書き込み、文書化されたcURL経由の到達条件、そして修正済みのBrotli依存ライブラリを含む再ビルド版Windowsパッケージが提供されていることにとどまります。

16,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を削減しています。チームで試してみる

翻訳元: https://cyberpress.org/php-releases-emergency-windows-updates/

本記事は cyberpress.org の記事を翻訳・要約したものです。