当サイトのリンクには広告が含まれています

IT・Web 公開日

圧縮の部品「Brotli」に重大な脆弱性(CVE-2026-111497)。Node.js・Python・Git for Windowsは関係ある?確認とアップデートのしかた

Googleの圧縮の部品「Brotli」に、外からプログラムを動かされるおそれのある脆弱性(CVE-2026-111497)が見つかりました。Node.js・Python・Git for Windows・.NETなど影響の範囲と、立場別の確かめ方・アップデートのしかたをまとめました。

圧縮されたデータを展開すると、枠から色の帯がはみ出し注意マークが付いた、Brotliの脆弱性を表すイラスト

Webのデータを小さくして速く届けるための圧縮のしくみ「Brotli(ブロトリ)」に、重大な脆弱性(CVE-2026-111497)が見つかりました。細工したデータを読みこませると、外から好きなプログラムを動かされるおそれがある、というものです。

Brotliを作っているのはGoogleです。Node.js、Python、Git for Windows、.NETなど、たくさんのソフトの中に部品として入っています。そのため、「自分のパソコンやサーバーは関係あるの?」と気になった人も多いはずです。

この記事では、何が起きたのかをかみくだいて説明し、立場別に関係するかどうかと、確かめ方・アップデートのしかたをまとめます。

この記事のポイント

  • 結論:Webを見るだけの人は、ふだんどおりOSとブラウザを最新にしておけば十分です。Node.js・Python・Git for Windows・.NETを使っている人は、修正版への更新が必要です
  • Brotliの1.0.3〜1.2.0に、圧縮データを元に戻す処理でメモリの外に書きこんでしまう不具合があった。深刻度は9.2(緊急)
  • 修正版は1.0.10・1.1.1・1.2.1。Node.jsは22.23.4・24.22.1・26.12.1で修正済み
  • ソフトごとにBrotliを自分の中に持っているので、OSを更新しただけでは直らないことがある
  • 実際に悪用されたという報告は、今のところない

何が見つかったの?

Brotliは「データを小さくする」部品

Webサイトを見るとき、サーバーは文章や画像のデータを圧縮して送り、受け取った側が元に戻して表示しています。そのときによく使われる圧縮のしかたの一つがBrotliです。Googleが開発し、無料で公開しているので、世界中のソフトが部品として組みこんでいます。

元に戻す処理で「はみ出して書きこむ」

今回の不具合は、圧縮されたデータを元に戻す(展開する)処理にありました。Node.jsの説明によると、壊れたデータを受け取ったとき、本来は「このデータはおかしい」と止まるべきところを、「続きのデータを待っている」と勘違いして処理を続けてしまいます。その結果、小さな作業用の場所からはみ出してデータを書きこんでしまうのです。

はみ出した書きこみを悪用されると、次のようなおそれがあります。

  • プログラムが止まる(サービスが落ちる)
  • メモリの中の情報が漏れる
  • 外から好きなプログラムを動かされる(リモートコード実行)

深刻度と、見つかったいきさつ

項目 内容
番号 CVE-2026-111497
対象 Brotli 1.0.3〜1.2.0
修正版 1.0.10、1.1.1、1.2.1(10月22日、日本時間)
深刻度 9.2(緊急・CVSS 4.0、Googleの評価)
見つけた人 OpenAIのセキュリティ研究チーム(Codex Security)
悪用の報告 今のところなし

Wizによると、セキュリティ会社Impervaの研究者が、更新前のNode.jsで実際に悪用できることを確かめています。攻撃に使われたという報告は、今のところありません。海外では「Broccoli2Shell」「Node2Shell」「HTTP2Shell」といった呼び名でも話題になっています。

どこに影響が広がっている?

やっかいなのは、Brotliがたくさんのソフトの中に、それぞれ別々に入っていることです。Brotli本体が直っても、それを組みこんだソフトが更新されるまでは、古い部品のまま動きます。

各ソフトの公式発表で確認できた修正版は、次のとおりです(10月28日時点)。

ソフト 修正版 公開日
Brotli本体 1.0.10/1.1.1/1.2.1 10月22日
Node.js 22.23.4/24.22.1/26.12.1 10月21日(米国時間)
Python の「Brotli」 1.2.1 10月22日
Python の「brotlicffi」 1.2.1.0 10月23日
.NET 8.0.33/9.0.22/10.0.14 10月26日
Git for Windows 2.56.0.windows.4 10月26日
Debian(Linux) bookworm 1.0.9-2+deb12u1/trixie 1.1.0-2+deb13u1 ―

※ 日付は日本時間です(Node.jsのみ米国時間の発表日)。

セキュリティ会社のWizは、このほかに、ネットワークの中継に使われる「Envoy」や、JavaScriptを動かす「Bun」なども対象として挙げています。Brotliを組みこんだソフトはほかにもあるので、使っているソフトの公式のお知らせも確かめてください。

自分は関係ある?

あなたの立場 関係するか やること
スマホやパソコンでWebを見るだけ 今回の発表で名前が挙がっているソフトは、主に開発・サーバー向け OS・ブラウザを最新にしておく
Windowsで「Git」を使っている 関係する Git for Windowsを2.56.0.windows.4以降に
Pythonを使っている Brotliのパッケージが入っていれば関係する パッケージを更新する
Node.js・.NETでサービスを動かしている 関係する 修正版に更新して、サービスを再起動
サイトを運営している サーバーで使っているソフトによる レンタルサーバーなら、運営会社のお知らせを確認

Webを見るだけの人

Chrome・Firefox・Safariなどのブラウザについては、10月28日の時点で、今回の不具合についての各社の発表は確認できませんでした。ブラウザは自動で更新されるので、ふだんどおりOSとブラウザを最新にしておけば十分です。

Windowsで「Git」を使っている人

プログラミングの勉強などで「Git for Windows」を入れた人は、確認しておきましょう。Git for Windowsには、Brotliを使う部品が同梱されていて、10月26日の 2.56.0.windows.4 で修正版に入れ替えられました。

Pythonを使っている人

Python本体ではなく、「Brotli」や「brotlicffi」というパッケージが対象です。自分で入れた覚えがなくても、Webにアクセスするためのライブラリ(requestsやhttpxなど)と一緒に入っていることがあります。

Node.js・.NETでサービスを動かしている人

Node.jsは、Brotliを自分の中に持っています。そのため、LinuxなどのOS側でBrotliを更新しても、Node.js自体を更新しない限り直りません。修正は、10月21日のセキュリティリリースにまとめて入っています(Node.jsの脆弱性の記事で紹介したものと同じです)。

なお、Node.js 20など、サポートが終わった古い版には修正版が出ません。使い続けている場合は、22以降への移行を考えましょう。

.NETは、Microsoftによると、ASP.NET Coreや「HttpClient」が初期設定のままならBrotliを自動では展開しないため、更新前でもすぐに危ないとは限りません。ただし、自動展開をオンにしているアプリや、Brotliの機能を直接使っているアプリは対象です。古い「.NET Framework」は対象外です。

確かめ方とアップデートのしかた

ターミナル(Windowsなら「ターミナル」や「コマンドプロンプト」)で、次のコマンドを入力して確かめます。

確かめたいもの 入力するコマンド 大丈夫な結果
Git for Windows git version 2.56.0.windows.4 以降
Node.js node -v v22.23.4/v24.22.1/v26.12.1 以降
Python の Brotli pip show Brotli Version: 1.2.1 以降
Python の brotlicffi pip show brotlicffi Version: 1.2.1.0 以降
.NET dotnet --list-runtimes 8.0.33/9.0.22/10.0.14 以降

pip show で「見つからない(not found)」と出たら、そのパッケージは入っていないので、対応は不要です。

更新のしかた

  • Git for Windows:git update-git-for-windows を入力するか、公式サイトから最新版を入れ直す
  • Node.js:公式サイトから修正版を入れる(nvmなどを使っている人は、それで切り替える)。サーバーなら、更新後にサービスを再起動する
  • Python:pip install -U Brotli や pip install -U brotlicffi で更新する
  • .NET:修正版のランタイムを入れる。アプリにランタイムを同梱している場合は、新しいSDKで作り直して配布し直す
  • Linuxのサーバー:OSの更新(Debian・Ubuntuなら apt での更新)でBrotliの部品を新しくする

Node.jsは、次のコマンドで、修正が入っているかを確かめることもできます。修正済みなら「-17」、修正前なら「undefined」と表示されます。

node -p "require('zlib').constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH"

すぐに更新できないとき

サーバーをすぐに更新できない場合は、つなぎの対策として、外から届くBrotliで圧縮されたデータを受け付けない設定にする方法があります。ただし、これは一時しのぎです。早めに修正版へ更新してください。

このブログの考え方

このブログも、Node.jsで動いています。今回の件を受けてサーバーを確かめたところ、10月21日の修正版(24.22.1)になっていて、上のコマンドでも「-17」と表示されました。Node.jsの記事の時点では「Node.jsの不具合の一つ」に見えたものが、実は多くのソフトに共通する部品の問題だった、というのが今回の話です。

今回のように、ひとつの部品の不具合が、名前も知らなかったたくさんのソフトに広がることは珍しくありません。eMudhraの件でも、アプリが「信用する証明書の一覧」を自分の中に持っていることが問題になりました。「OSを更新したから大丈夫」ではなく、使っているソフトを一つずつ最新にする。地味ですが、それがいちばん確実な守り方だと思います。

まとめ

  • Googleの圧縮の部品「Brotli」の1.0.3〜1.2.0に、外からプログラムを動かされるおそれのある不具合(CVE-2026-111497)が見つかった
  • 修正版は1.0.10・1.1.1・1.2.1。Node.js・Python・Git for Windows・.NETなども修正版が出ている
  • ソフトがBrotliを自分の中に持っているので、OSの更新だけでは直らないことがある。ソフトごとに更新する
  • Webを見るだけの人は、OSとブラウザを最新にしておけば十分
  • 実際に悪用されたという報告は、今のところない

参考資料

※ 記事の内容は、2026年10月28日時点の情報をもとにしています。