Google Brotliにメモリ破壊の欠陥 Pythonパッケージにも影響

Google Brotliにメモリ破壊の欠陥 Pythonパッケージにも影響

※記事を視覚化したイメージであり、実際の事象とは異なります。

本サイトの記事や画像は、AIが公的資料や複数の報道を基に事実関係を整理・再構成し制作したものです。[続きを表示]特定の報道内容や表現を再利用・要約することを目的としたものではありません。ただし、誤りや不確定な情報が含まれる可能性がありますので、参考の一助としてご覧いただき、実際の判断は公的資料や各出典元の原文をご確認ください。[私たちの取り組み]

Googleの圧縮形式「Brotli」のデコーダーに深刻な脆弱性「CVE-2026-111497」が見つかり、Node.js以外にも影響が及ぶと10月26日付で窓の杜が報じた。攻撃者が用意した圧縮データを展開すると、情報漏えいやサービス拒否、任意コード実行につながる恐れがある。Node.jsやBrotli本体を含む複数のソフトウェアで修正版が公開されている。

攻撃者由来のデータを展開する経路が条件

Red Hatの説明によると、問題はGoogle Brotliデコーダーでブロック種別を切り替える処理にあり、想定範囲外へデータを書き込んでしまう。攻撃を成立させるには、対象アプリケーションに、攻撃者が制御するBrotliデータを展開する経路が必要となる。

その経路は、受信したリクエストの展開に限らない。外部サーバーから取得した圧縮レスポンスの展開でも、問題の処理に到達し得る。Impervaは両方の経路を試験対象としており、外部から受け取るデータをどこで展開しているかが、影響を調べる上で重要になる。

10月22日付のImpervaの報告によると、公式Node.js 24.22.0のLinux arm64イメージを使った試験で、コード実行を実証したという。デバッガーや計測用に変更したバイナリは不要だった一方、成功には複数回の試行を要した。同じ入力は修正版の24.22.1では拒否されたという。これは特定環境での実証であり、全環境で安定して成功することを示す結果ではない。

更新対象はNode.js以外にも

窓の杜によると、この問題は当初、OpenAIによってNode.jsの問題として報告された。その後、同じデコーダーが他のソフトウェアにも組み込まれていることから、影響範囲が広いと判明した。Aikido Securityなどは「HTTP2Shell」という呼称を用いているが、HTTP/2接続そのものの脆弱性ではなく、問題箇所はBrotliの展開処理にある。

Node.jsは10月21日付の公式告知で、22.x、24.x、26.x系列向けのセキュリティ更新を提供した。修正版はそれぞれ22.23.4、24.22.1、26.12.1となる。Google Brotli本体にも1.0.10、1.1.1、1.2.1の修正版が公開された。

Python向けのBrotliとbrotlicffiにも影響があり、修正版はそれぞれ1.2.1と1.2.1.0となる。BunやEnvoy Proxyなどにも影響が確認されており、各製品の修正版への更新が必要となる。Brotliを同梱するアプリやコンテナーでは、修正版を反映した再ビルド・再配備も重要だ。

暫定対応としてRed Hatは、可能な範囲で、信頼できない相手からのBrotliデータの受け入れや自動展開を避けるよう案内している。Impervaは、パッケージ一覧だけではコンテナー内に残る古いNode.jsランタイムを見落とす可能性があると指摘し、実際に配備されたバージョンの確認を求めている。

参考・出典

ニュースはAIで深化する—。日々の出来事を深掘りし、次の時代を考える視点をお届けします。

本サイトの記事や画像はAIが公的資料や報道を整理し制作したものです。
ただし誤りや不確定な情報が含まれることがありますので、参考の一助としてご覧いただき、
実際の判断は公的資料や他の報道を直接ご確認ください。
[私たちの取り組み]