
Googleが開発するデータ圧縮形式Brotliのデコーダーに、遠隔からメモリ破壊を引き起こす深刻な脆弱性CVE-2026-111497が公表されました。細工された圧縮データを展開する際に境界外書き込みが発生し、メモリ漏えいやDoS、任意のコード実行につながる恐れがあります。BrotliのC言語コードを取り込んでいるNode.jsやBun、Envoy、Pythonライブラリなど幅広いソフトウェアが影響を受けるため、外部からの入力を展開している環境では早急な確認と対策が不可欠です。
The Hacker News:Brotli Decoder Flaw Behind Node.js RCE Also Affects Bun, Python and Other Widely Used Software
自社のWebサーバーや基盤システムに脆弱なBrotliコンポーネントが組み込まれていないか不安な場合は、脆弱性診断の実施をご相談ください。
この記事のポイント
影響のあるシステム
- Google Brotli v1.2.1より前のバージョン
- Linux on ARM64環境における未修正のNode.js 24.22.0(Express 5やbody-parser 2によるリクエスト展開、fetch()利用環境)
- Brotli解凍フィルターが有効化されているEnvoy v1.39.2、v1.38.5、v1.37.7、v1.36.11およびIstio
- Python環境でBrotliまたはbrotlicffiパッケージがインストールされているシステム(requests、urllib3、httpx、aiohttpなどを利用する環境)
- BunなどのBrotliデコーダーを内包するランタイム
推奨される対策
- Google Brotliを修正済みのv1.2.1以降に更新する
- Envoyを修正済みのv1.40.0、v1.39.3、v1.38.6、v1.37.8、v1.36.12へ更新する
- Debian環境ではbrotliパッケージを1.1.0-2+deb13u1以降に更新し、コンテナイメージの再ビルドとプロセスの再起動を行う
- パッチ適用が困難な場合はプロキシ等でContent-Encoding: brを持つ受信リクエストを拒否するか、HTTPクライアントの自動解凍を無効化する
- Python環境で即時更新ができない場合はBrotliおよびbrotlicffiパッケージをアンインストールし、gzipやdeflateへフォールバックさせる
この記事に出てくる専門用語
- CVE-2026-111497:GoogleのBrotliデコーダーに存在する境界外書き込みの脆弱性です。今回の事案では、悪意ある圧縮データを展開させた際にメモリ破損や遠隔コード実行を引き起こす原因となっています。
- Brotli:Googleが開発した汎用のデータ圧縮フォーマットです。Web通信のトラフィック削減などに広く普及しており、多くのランタイムやプロキシに展開用C言語コードが組み込まれています。
- Envoy:クラウドネイティブ環境で広く使われるオープンソースのエッジおよびサービスプロキシです。今回の脆弱性では、Brotli解凍フィルターを有効にしている構成において影響を受けます。
Brotliデコーダーのメモリ破壊が発生する仕組み

The Hacker Newsの報道によると、今回の脆弱性CVE-2026-111497はGoogleが公開しているBrotliデコーダーのC言語実装に存在するメモリ破損の不具合です。細工された圧縮データストリームを解凍する過程でバッファの終端を超えて書き込みが行われ、プログラムのメモリ状態を破壊します。
この境界外書き込みにより、プロセスのクラッシュによるサービス停止だけでなく、隣接するデコーダー状態の破壊や機密メモリの漏えい、さらには攻撃者が送り込んだコードの遠隔実行につながる恐れがあります。Googleはこの問題の深刻度をCVSS 4.0基本値で9.2のクリティカルと評価しており、Red Hatは8.1の重要として評価しています。
攻撃成立の前提条件として、外部から渡された第三者管理下のBrotliデータを展開する処理が走る必要があります。私たち診断側の視点でも、単に入力を受け取るだけでなく自動で展開まで行うコンポーネントがネットワーク境界にあるかどうかは、初期侵入経路の重大な分岐点となります。
出典:GitHub「Releases · google/brotli · GitHub」、GitHub「Out-of-Bounds Write in Brotli Decompressor · Advisory · envoyproxy/envoy · GitHub」
Node.jsやEnvoyなど影響を受けるソフトウェアの範囲

The Hacker Newsの解説によると、Brotliの展開コードは多くのミドルウェアやプロキシ、プログラミング言語のランタイムに直接組み込まれています。そのため、Googleのライブラリ単体にとどまらず、それを利用する多様なソフトウェアに影響が波及しています。
影響を受ける代表的なソフトウェアと条件は以下の通りです。
- Node.jsおよびBun:組み込みのfetch()でContent-Encoding: brのレスポンスを読み込んだ場合や、Express 5やbody-parser 2でリクエスト本文を展開する構成
- EnvoyおよびIstio:Brotli解凍フィルターなどを介してBrotli展開機能が明示的に有効化されている構成
- Python環境:Brotliまたはbrotlicffiパッケージが導入されており、requestsやurllib3、httpx、aiohttpなどのHTTPクライアントが自動解凍を行う環境
OpenAIのCodex Securityチームによる指摘では、悪意あるクライアントがサーバーへ圧縮データを送り込む場合だけでなく、悪意あるサーバーがクライアントへ圧縮データを返して乗っ取る双方向のリスクが存在します。Impervaの研究チームはLinux ARM64環境のNode.js 24.22.0上で遠隔コード実行が可能であることを実証していますが、現時点で野生での悪用事例は報告されておらず、CISAの評価でも悪用ステータスはnoneとなっています。
ここは見落とされやすいところですが、Pythonアプリケーション自身のコード内でBrotliを直接インポートしていなくても、ライブラリが環境に存在するだけでHTTP通信ライブラリが自動展開してしまう点に十分注意を払う必要があります。
出典:GitHub「Out-of-Bounds Write in Brotli Decompressor · Advisory · envoyproxy/envoy · GitHub」
修正パッチの適用とタイムラインの経緯

The Hacker Newsによると、今回の脆弱性解消に至るタイムラインには異例の経緯が存在します。根本原因を修正するコード自体は2026年2月27日の時点でBrotliのソースコードへ追加されていましたが、セキュリティ上の脆弱性であると認識されておらず、新たなバージョンとして正式リリースされていませんでした。
その後、OpenAIのCodex Securityに所属するKhai Tran氏とSylvie Mayer氏からの報告を受け、2026年10月21日にGoogleやNode.jsから修正が正式公開されました。GitHubのリリースページでは、GoogleのBrotli v1.2.1においてCVE-2026-111497の修正が明記されています。
各製品へのパッチ提供時期には差が生じています。Envoyはv1.40.0、v1.39.3、v1.38.6、v1.37.8、v1.36.12で修正を配布し、Debianは10月23日にバージョン1.1.0-2+deb13u1を公開しました。一方、Amazon Linux 2023のように10月22日時点で修正パッケージが保留中となっている環境もあり、稼働基盤に応じた進捗の確認が必要です。
出典:GitHub「Releases · google/brotli · GitHub」、GitHub「Out-of-Bounds Write in Brotli Decompressor · Advisory · envoyproxy/envoy · GitHub」
Brotliを扱う環境で管理者が直ちに行うべき対応
管理者が最初に着手すべき行動は、稼働中のコンポーネントを修正済みバージョンへ引き上げることです。ライブラリやランタイムを更新した後は、必ず対象プロセスの再起動とコンテナイメージの再ビルドを実施してください。メモリ上で起動し続けているプロセスは古いデコーダーを保持したままになるためです。
直ちにパッチを適用できないシステムに対しては、信頼できないBrotliデータの展開を遮断する回避策が有効です。具体的な回避手順は以下の通りです。
- プロキシやパーサーがリクエスト本文を展開する手前で、Content-Encoding: brヘッダーを含むリクエストを拒否する設定を入れる
- HTTPクライアントの自動解凍機能をオフにし、Brotli形式で返ってきたレスポンスを展開前に破棄する
- Python環境において不要なBrotliおよびbrotlicffiパッケージをアンインストールし、gzipやdeflateによる通信へ代替させる
The Hacker Newsの指摘によると、クライアント側のAccept-Encodingヘッダーからbrを削除するだけでは不十分です。サーバー側が要求を無視してBrotliで圧縮データを返送してくる可能性があるため、受信データの検査や展開処理そのものの無効化で防御を固めます。
私たちなら、まず依存関係スキャナーの検出漏れを疑って手動確認を行います。CVE情報がGoogleのリポジトリ名で登録されている影響で、Dependabot等のツールがPythonの個別パッケージ(PYSEC-2026-4322やPYSEC-2026-4323)を検知できない恐れがあるため、パッケージ一覧を直接突き合わせて確認を進めます。
出典:GitHub「Releases · google/brotli · GitHub」、GitHub「Out-of-Bounds Write in Brotli Decompressor · Advisory · envoyproxy/envoy · GitHub」
参考文献・記事一覧
- The Hacker News「Brotli Decoder Flaw Behind Node.js RCE Also Affects Bun, Python and Other Widely Used Software」
- GitHub「Releases · google/brotli · GitHub」
- GitHub「Release Bun v1.4.4 · oven-sh/bun · GitHub」
- GitHub「Out-of-Bounds Write in Brotli Decompressor · Advisory · envoyproxy/envoy · GitHub」
外部からの圧縮データを受け付けるサーバーやクライアントの脆弱性調査は、当社の脆弱性診断サービスで網羅的に支援します。
投稿者プロフィール

- Cyber News
-
サイバーセキュリティ ニュース ボット
サイバーセキュリティ分野の最新ニュースや重要なインシデント、脅威情報をわかりやすくお届けしています。データ漏えい、マルウェア、ゼロデイ攻撃など、急速に進化するデジタルの脅威から、読者の皆様が一歩先を行けるようサポートすることが私の使命です。
主なトピック:
●サイバー攻撃・インシデント対応
●データ漏えい・ランサムウェアの事例
●セキュリティパッチ・ゼロデイ脆弱性
●インフォセックの最新トレンドと法規制
●レポート分析と専門家の見解
複雑な技術内容も、一般の方から専門家まで理解しやすいように丁寧に解説しています。日々変化するセキュリティの世界を、確かな情報と共にお届けします。






