Brotliの脆弱性「CVE-2026-111497」、リモートコード実行を誘発

GoogleのBrotli圧縮アルゴリズムに存在する重大な欠陥が、ソフトウェア業界に衝撃を与えています。この脆弱性「CVE-2026-111497」を悪用すると、認証されていない攻撃者がサーバーのメモリをリモートから破壊できます。セキュリティ研究者はすでに、最新のクラウド環境に対するリモートコード実行の実証に成功しました。さらに、この欠陥は主要なアプリケーションランタイムやクラウドプロキシの複数に影響します。脆弱なライブラリは多様な言語に組み込まれているため、1つのプラットフォームを修正しても、ほかのプラットフォームは守られません。

デコーダーのバッファオーバーフローの仕組み

エンジニアは、WebアプリケーションやAPIパイプラインを高速化するために、Brotli圧縮を広く導入しています。アプリケーションが圧縮データを受け取ると、専用のデコーダーが元のペイロードを復元します。ところが、この展開処理の途中で、見つけにくいバッファオーバーフローが発生します。具体的には、不正なストリームブロックを解析する際に、デコーダーが誤って追加の入力を要求します。そして処理を停止せず、内部の8バイトのバッファを越えて受信バイトを書き込んでしまいます。その結果、悪意のあるペイロードによって、システムのクラッシュ、メモリ内の機密情報の漏えい、任意のコマンド実行が起こり得ます。

実験環境でのリモートコード実行を実証

悪用されるリスクは、サービスが信頼できないユーザー入力をデコードするかどうかで決まります。サーバーにBrotliライブラリを置いているだけでは、直ちに危険にはなりません。アプリケーションが悪意のあるストリームを、脆弱なデコーダーに実際に渡す場合に問題となります。Impervaのアナリストは、技術的な詳細分析「Node2Shell from Brotli data to remote code execution」で、確実に悪用できることを確認しました。研究者らは、ARM64 Linux上で動作する標準的なNode.js 24.22.0環境内で、任意のコマンドを実行しています。

このエクスプロイトは、Expressのボディパーサーが処理する受信HTTPリクエストに対して成功しました。同様に、アプリケーションが送信したfetchのレスポンスを処理する場合にも、攻撃は機能しました。エクスプロイトには複数回の試行が必要でしたが、カスタムのデバッグ用ビルドを使わずに、安定してコード実行に至りました。なお、修正済みのリリースで行ったテストでは、修復後のランタイムが悪意のあるストリームを適切に拒否することを確認しています。

Node.js、Bun、Pythonで提供されたランタイムのパッチ

上流のメンテナーは、現在サポートされているソフトウェアフレームワークに向けて、急いでセキュリティ修正を公開しました。Node.jsの10月のセキュリティリリースによると、同プロジェクトはバージョン22.23.4、24.22.1、26.12.1で修正しました。一方、Googleは上流のBrotliのリリース1.0.10、1.1.1、1.2.1で根本的な問題を解決しています。BrotliのCVE-2026-111497に関するGitHubアドバイザリによれば、脆弱なバージョンは1.0.3から始まります。CVSS 4.0のスコアは9.2で、深刻度は「重大」です。

この脆弱性は、JavaScriptやPythonのエコシステム全体にも脅威となります。Bunランタイムのセキュリティアドバイザリによると、メンテナーはバージョン1.4.4でこの欠陥を修正しました。Pythonの管理者も、ネイティブのBrotliライブラリをバージョン1.2.1に更新する必要があります。CFFIバインディングを利用しているチームは、brotlicffiをバージョン1.2.1.0へ直ちにアップグレードしてください。

EnvoyとIstioで露呈するクラウドインフラのリスク

最新のサービスメッシュのアーキテクチャも、この脆弱性によって運用上の大きなリスクにさらされています。Envoyプロキシのセキュリティアドバイザリによると、開発者はバージョン1.40.0、1.39.3、1.38.6、1.37.8、1.36.12にパッチを適用しました。ただし、Envoyが脆弱になるのは、管理者がBrotli展開フィルターを明示的に有効にしている場合に限られます。

同様に、クラウドのサービスメッシュを運用している環境でも、管理者は早急に対応する必要があります。Istioのセキュリティ情報では、メンテナーがバージョン1.31.2、1.30.6、1.29.9の修正版をリリースしました。EnvoyFilterリソースを導入している管理者は、稼働中のクラスターがパッチ適用済みのソフトウェアで動いているかを確認してください。

自動検出とエコシステム全体の調査

防御側を支援するため、セキュリティ企業のTrail of Bitsは、オープンソースのスキャナー「Brotli Checker」を公開しました。このツールは、ソースリポジトリ、アプリケーションの依存関係、コンテナイメージを調べ、組み込まれたデコーダーを検出します。なお、この欠陥は、OpenAI Codex Securityのセキュリティアナリストが、AIによる自動化ツールを使って発見したと、研究者らは評価しています。「Node2Shell」や「Brotlipocalypse」とも呼ばれる今回のインシデントは、広く使われている圧縮ユーティリティに潜むサプライチェーンリスクの大きさを浮き彫りにしています。

翻訳元: https://meterpreter.org/brotli-cve-2026-111497-vulnerability/

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