緊急PHP・Laravel

PHP の Windows 版が Brotli の脆弱性で再公開、8.5.12-1 などへ(CVE-2026-111497)

重要ポイント

  • 何が起きたか: PHP の Windows 版が同梱する Brotli に境界外書き込みの脆弱性(CVE-2026-111497)があり、2026年10月26日に PHP が Windows ビルドを再公開しました。
  • 対象: PHP 8.2〜8.5 の Windows 向け公式パッケージ(8.5.12・8.4.27・8.3.36・8.2.35)。Linux のパッケージ(dnf など)は別の扱いです。
  • 深刻度: Google は CVSS 4.0 で 9.2(Critical)、Red Hat は CVSS 3.1 で 8.1(Important)と評価しています。
  • 修正版: 末尾に -1 の付いた 8.5.12-1・8.4.27-1・8.3.36-1・8.2.35-1(Brotli 1.2.1 を同梱)。
  • 悪用: PHP の告知では攻撃事例への言及はなく、CISA も 10月23日時点で悪用を確認していません。

バージョンと対処(まずここを確認)

製品影響を受けるバージョン修正版(これ以上にする)
PHP 8.5(Windows)8.5.12(初回ビルド)8.5.12-1
PHP 8.4(Windows)8.4.27(初回ビルド)8.4.27-1
PHP 8.3(Windows)8.3.36(初回ビルド)8.3.36-1
PHP 8.2(Windows)8.2.35(初回ビルド)8.2.35-1

対処: php.net の Windows 版ダウンロードから -1 付きのパッケージを入れ直します。PHP 本体のバージョン番号は変わらないため、XAMPP など PHP を同梱した配布物は、提供元が更新版を出すまで待つ必要があります。

確認: php -v では違いが分かりません。入手したファイル名の -1 と、php.net 掲載の SHA-256 ハッシュで確かめます。

概要

PHP プロジェクトは2026年10月26日、10月21日公開のリリースを Windows 向けに再ビルドしました。同梱の圧縮ライブラリ Brotli の展開処理に、境界外書き込みの脆弱性(CVE-2026-111497)があるためです。Node.js や .NET でも同じ問題への対応が出ています。Windows で PHP を動かしている場合は、再ビルド版に入れ替えてください。

影響と対処

影響を受けるもの

Windows 向けの PHP 8.2〜8.5 の公式パッケージが対象です。cURL 拡張で HTTP レスポンスの自動展開を有効にしていると、脆弱な Brotli のデコーダに到達しえます。cURL ではこの機能は初期設定で無効ですが、アプリケーションや HTTP クライアントのライブラリが有効にすることがあります。

どんな問題か

Brotli の展開処理で、確保した領域の外に書き込める欠陥です。細工された応答を受け取ると、コード実行につながるおそれがあります。

対処方法

-1 付きの Windows パッケージに更新します。自動展開を使う必要がなければ、cURL の CURLOPT_ACCEPT_ENCODING を設定していないか確認し、不要なら外してください。Linux(Amazon Linux 2023 など)は、この再ビルドの対象ではありません。

確認方法

導入しているパッケージのファイル名と、php.net の SHA-256 ハッシュを照合します。

対応チェックリスト

  • Windows で PHP を動かしているサーバー・開発環境を洗い出す
  • -1 付きの 8.5.12-1・8.4.27-1・8.3.36-1・8.2.35-1 に入れ替える
  • XAMPP など同梱版は提供元の更新を確認する
  • cURL の自動展開(Accept-Encoding)を使っているコードを確認する

出典