OSやアプリケーションを更新しても、脆弱性が残っているかもしれない。Googleの圧縮ライブラリ「Brotli」に、CVSS 9.2の重大脆弱性が見つかった。Node.jsではコード実行も実証され、攻撃の試みも観測されている。広く使われるライブラリだからこそ、見落とされやすい攻撃経路に注意が必要だ。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Tenableは、Googleが開発した圧縮ライブラリ「Brotli」のデコーダーに存在する重大な脆弱(ぜいじゃく)性、通称「HTTP2Shell」(CVE-2026-111497)の危険性と対策を解説した。
細工した圧縮データを処理させることで、メモリ破損やサービス運用妨害(DoS)、任意コード実行などを引き起こす恐れがある。「Node.js」ではコード実行が実証され、実環境での攻撃の試みも観測されている。Brotliは幅広いソフトウェアに組み込まれており、利用者が脆弱性の存在を把握しにくい点も厄介だ。
CVE-2026-111497は、Brotliのデコーダーに存在するバッファーオーバーフローの脆弱性だ。Brotliのバージョン1.0.3〜1.2.0が影響を受ける。認証されていない遠隔の攻撃者が細工したBrotli圧縮データを処理させることで、メモリ破損や機密情報の漏えい、DoSを引き起こす他、任意のコードを実行できる可能性がある。CVSS v4.0のスコアは9.2で、深刻度「緊急」(Critical)と評価されている。
この脆弱性を悪用した攻撃が成立する条件とは何か。
攻撃が成立する条件は、アプリケーションが攻撃者の制御下にあるBrotliの圧縮データを展開することだ。例えば、サーバ側でBrotliの圧縮されたリクエストを受信して展開するケースや、クライアント側で外部サーバから受け取った圧縮レスポンスを自動展開するケースが攻撃経路となる。
Node.jsでは、標準の「fetch」APIがBrotliの圧縮されたレスポンスを自動展開する他、「Express 5」などのボディーパーサーも圧縮されたリクエストを展開する。このため、アプリケーションがBrotliの処理を明示的に呼び出していなくても、脆弱性の影響を受ける可能性がある。
研究者はNode.jsの公式ビルド「24.22.0」で任意コード実行を実証した。ただし、攻撃コードは対象となるビルドに合わせた調整が必要で、異なるバージョンにそのまま適用できるわけではない。PoC(概念実証)コードも「GitHub」で公開されている。
ELLIOは2026年10月26日(現地時間、以下同)、Node.jsを標的とする攻撃トラフィックを実環境で観測したと報告した。米国土安全保障省サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)は同月27日、今回の脆弱性を「既知の悪用された脆弱性カタログ」(KEV:Known Exploited Vulnerabilities Catalog)に登録した。Akamai Technologiesによると、同社の観測ネットワークの61%で影響を受けるNode.jsが稼働しているという。
対策上の課題は、Brotliが実行環境やライブラリに同梱され、資産管理の対象から見落とされやすい点にある。
例えば、Node.jsの公式ビルドや「Bun」はBrotliのライブラリを内蔵している。この場合、OS側のBrotliだけを更新しても、実行環境に組み込まれた脆弱なコードは残る。修正を反映するには、Node.jsやBunなど、それぞれの提供元が公開する修正版を適用する必要がある。
また、ライブラリや実行環境を更新しただけでは、稼働中のプロセスに修正が反映されない場合がある。アプリケーションの再起動に加え、コンテナを利用している場合はイメージの再構築と再配備も必要だ。
修正版はBrotliの他、Node.js、Bun、「.NET」「Envoy Proxy」「Istio」、Python用Brotliパッケージ、「Windows」版PHPなどで提供されている。Node.jsでは22.x系が22.23.4、24.x系が24.22.1、26.x系が26.12.1で修正された。サポート終了済みの20.x、23.x、25.x系には修正が提供されないため、サポート対象のバージョンへの移行が必要となる。
即時更新が難しい場合、サーバ側でBrotliの圧縮リクエストを拒否すれば、攻撃経路の一つを遮断できる。ただし、これは外部サーバから取得した圧縮レスポンスの展開には効果がない。.NETのHttpClientなどでは自動展開を停止する回避策がある一方、Node.js標準のfetchには同様の回避策がなく、修正版への更新が必要だ。
今回の脆弱性は、ライブラリ単体のバージョン管理だけでは十分な対策にならないことを示している。OSやアプリケーションの資産一覧に表れない依存ライブラリまで把握し、実行環境やコンテナイメージを含めて修正状況を確認する必要がある。
設計時のレビューでは拾えない、バグるAIエージェントに共通する5つの特徴
日本企業が「サイバー攻撃はAIのせい」にして目を背ける“本当の原因”
国内Web侵害119件、“情報漏えいドミノ”の背後でいま何が起きているか
PHP脆弱性問題は“また起こる” 事件の裏にあったエンジニアの根深い課題
PHPの重大脆弱性「php2shell」、パッチ公開まで待てない GMOが示した暫定策と注意点Copyright © ITmedia, Inc. All Rights Reserved.