ニュース

Googleの圧縮形式「Brotli」に深刻な脆弱性「HTTP2Shell」、Web関連に幅広く影響【16時40分追記】

OpenAIが発見した「Node2Shell」の影響が拡大、認証なしでリモートコード実行のおそれ

米Googleのデータ圧縮アルゴリズム「Brotli」

 米Googleのデータ圧縮アルゴリズム「Brotli」のC言語実装で、認証なしにリモートからメモリを破壊できる深刻な脆弱性「CVE-2026-111497」が発見された。当初、米OpenAIによって「Node.js」の問題として報告されたこともあり 「Node2Shell」 と呼ばれていたが、のちの調査でHTTPを扱うさまざまなライブラリやアプリにも影響が及ぶことが判明。セキュリティ企業のAikido Securityなどが 「HTTP2Shell」 という呼称を用い始めている。

 問題が発見されたのは、「Brotli」の圧縮処理ではなく、圧縮データを元の状態へ展開するデコーダー(c/dec/decode.c)。v1.0.3からv1.2.0までが影響を受ける。

 悪用されるとデコーダーの状態を保持するメモリの破壊や、メモリ内容の漏洩、サービス拒否(DoS)、さらには任意コードの実行につながる可能性がある。「CVSS 4.0」の基本値は「9.2」(Critical)。

 「Brotli」は、HTTPS通信で送受信するHTTPコンテンツの圧縮にも用いられており(Content-Encoding: br)、「Node.js」以外にも幅広いインターネット関連製品に影響が及ぶことが懸念されている。

 なお、「HTTP2Shell」という呼称が流布しつつあるが、本脆弱性は HTTP/2接続そのものの脆弱性ではない 。HTTPエコシステムへの影響が大きいというだけだ。

 この問題は、10月21日にリリースされた「Brotli」v1.0.10、v1.1.1、v1.2.1で対策済み。以下のプログラムにも対策版が組み込まれているとのこと。

  • Node.js:v22.23.4、v24.22.1、v26.12.1
  • Git for Windows:v2.56.0.windows.4
  • Bun:v1.4.4
  • Envoy Proxy:v1.40.0、v1.39.3、v1.38.6、v1.37.8
  • Istio:v1.29.9、v1.30.6、v1.31.2(1.29系列はサポート終了済みのため、1.30以降への移行を推奨)

 また、同じC言語のソースコードからビルドされている「Python」のパッケージ「Brotli」と「brotlicffi」も影響を受けるとして、それぞれ対策版のv1.2.1、v1.2.1.0がリリースされている。

 「Brotli」を同梱・静的リンクしたアプリやコンテナーは、依存ライブラリの更新だけでなく、再ビルド・再配備も必要になる。「Bun」で生成した単体実行ファイルも、修正版で作り直す必要がある。

 すぐにアップデートできない場合は、信頼できないデータに対する「Brotli」の展開を無効にするとよい(「gzip」や「deflate」などの圧縮形式は有効のままでよい)。

  • 受信するリクエスト:プロキシやミドルウェアが展開する前に、「Content-Encoding: br」のリクエストを拒否する
  • 取得するレスポンス:HTTPクライアントで「Brotli」の自動展開を無効にする。「Accept-Encoding」から「br」を外すだけでは、サーバーから「Brotli」で送られるのを防げない点には注意
  • 「Envoy Proxy」「Istio」:リクエストとレスポンスの両方で「Brotli」の展開フィルターを無効にする
  • ファイルなどのそのほかの入力:デコーダーに修正が適用されるまで、信頼できない「Brotli」データの処理を停止する

[2026年10月26日16時40分編集部追記] 「Git for Windows」にも「CVE-2026-111497」の対策を施したv2.56.0.windows.4がリリースされたため、追記しました。