本文へ移動
NEWS
開発・技術

OpenAI、Node2Shellを発見 Macの3か所とも直っていない

読了 約6分
ノートパソコンのキーボードの上に置かれた、OpenAIのロゴが表示されたスマートフォンの画面。OpenAI、Node2Shellを発見 Macの3か所とも直っていない
この記事の要点

OpenAIが見つけたNode2Shellは、Google製の圧縮形式Brotliの脆弱性だと分かりました。深刻度は9.2で、Node.jsやPythonの部品にも入っています。編集部のMacを調べたら、3か所とも影響を受ける1.2.0のままでした。

みんなの意見

AIが見つけた脆弱性の報告が増えるのは歓迎?

まだ回答がありません。最初の1票をどうぞ

SHARE
9.2CVSS 4.0の基本値
3か所編集部のMacで対象だった

Googleのデータ圧縮形式「Brotli」のC言語実装に、認証なしで外からメモリを壊せる脆弱性「CVE-2026-111497」が見つかりました。最初にOpenAIが「Node.js」の問題として報告したため「Node2Shell」と呼ばれ、いまはセキュリティ企業のAikido Securityなどが「HTTP2Shell」と呼び始めています。

Brotliの展開処理に穴 深刻度はCVSS 9.2だ

穴があったのは圧縮する側ではなく、圧縮データを元に戻すデコーダーです。悪用されるとメモリの破壊や中身の漏洩、サービス停止、さらに任意のコードの実行につながるおそれがあります。

深刻度を表す「CVSS 4.0」の基本値は9.2で、いちばん上の「Critical」に当たります。BrotliはHTTPS通信でWebページを圧縮して送るときにも使われているので、Node.js以外の製品にも影響が広がっています。

なお名前に「HTTP2」と入っていますが、HTTP/2の通信そのものの欠陥ではありません。Webの仕組み全体に影響が大きいことから付いた呼び名です。

v1.0.3からv1.2.0が対象 Pythonの2つの部品も入る

影響を受けるのはBrotliのv1.0.3からv1.2.0までです。10月21日に出たv1.0.10・v1.1.1・v1.2.1で直っています。

対象 影響を受ける版 直った版
Brotli本体(C言語) v1.0.3〜v1.2.0 v1.0.10・v1.1.1・v1.2.1
Pythonの「Brotli」 同じソースから作られている v1.2.1
Pythonの「brotlicffi」 同じソースから作られている v1.2.1.0

見落としやすいのは、Brotliを中に抱えたアプリやコンテナです。部品を更新しただけでは直らず、作り直して配り直す必要があります。「Bun」で作った単体の実行ファイルも同じです。

Brotliの対象の版と直った版

対象 影響を受ける版 直った版
Brotli本体(C言語) v1.0.3〜v1.2.0 v1.0.10・v1.1.1・v1.2.1
Pythonの「Brotli」 同じソースから作られている v1.2.1
Pythonの「brotlicffi」 同じソースから作られている v1.2.1.0
データ:窓の杜 / 制作:AInformation

編集部のMacで確かめた 3か所とも1.2.0のままだった

2026年10月26日12時台に、編集部が普段AIツールの開発に使っているMacで版を調べました。Node.jsのv25.2.1が中に持つBrotliは1.2.0、macOS標準のPython 3に入っていたBrotliも1.2.0、Homebrewで入れたBrotliも1.2.0でした。3か所とも影響を受ける版です。

どれも自分で入れた覚えが薄い部品でした。PythonのBrotliはWebから資料を取ってくるツールを入れたときに一緒に入り、Node.jsは中に組み込みの形で持っています。同じ時点でPythonの配布元には1.2.1が、Homebrewにも1.2.1が出ていて、更新はすぐできる状態でした。

AIが脆弱性を見つける流れはOpenAIだけではありません。AnthropicもOSSの穴を探す取り組みを出しています。見つかる数が増えるほど、使う側の更新が追いつくかが問われます。

Brotliの脆弱性をふさぐ3つの手順。版を調べる。v1.0.3〜v1.2.0なら対象。v1.2.1へ上げる。10月21日に直った版が出た。同梱アプリは作り直す。更新だけでは直らない。すぐ無理なら展開だけ止める。AInformation編集部が作ったイラスト図解(横並びの手順コマ)
窓の杜の記事をもとに対処の流れを整理した / 制作:AInformation

対策はv1.2.1への更新 すぐ無理なら展開を止める

まずは手元の版を調べるところからです。Node.jsなら「node -p process.versions.brotli」、Pythonなら「import brotli」のあと版を表示させると1行で分かります。

  • Pythonの「Brotli」をv1.2.1、「brotlicffi」をv1.2.1.0へ上げる
  • Brotliを同梱したアプリとコンテナは作り直して配り直す
  • Bunで作った単体の実行ファイルも直った版で作り直す
  • Node.jsは公式の告知で直った版を確かめてから上げる

すぐに更新できないときは、信頼できないデータに対してだけBrotliの展開を止めておく手があります。gzipやdeflateといったほかの圧縮形式はそのまま使ってかまいません。社内でAIに作らせた小さなツールほど台帳に載っていないので、今週中に一度洗い出しておきたいところです。

この記事に出てくることば
デコーダー
圧縮されたデータを元の状態に戻す処理。今回のBrotliの穴は圧縮する側ではなくこちらで見つかった
藤井俊太(AI導入コンサルタント)の見方

AI導入の現場で気になるのは、CodexやClaude Codeで作った社内の小さなツールです。Node.jsやPythonで動き、作った本人しか中身を知らないことが多い。情報システム部門の台帳に載っていないので、今回のような部品の更新から漏れる可能性があります。AIでツールを作らせる会社ほど、どの部品で動いているかを1か所に書き残す決まりを先に作っておくと、こうした穴が出た日に半日で洗い出せるとみています。

よくある質問
Node2ShellとHTTP2Shellは別の脆弱性?
同じ脆弱性です。番号はCVE-2026-111497で、OpenAIが最初にNode.jsの問題として報告したためNode2Shellと呼ばれました。のちにHTTPを扱う多くのライブラリにも影響すると分かり、Aikido SecurityなどがHTTP2Shellと呼び始めています。HTTP/2の通信そのものの欠陥ではありません。
Brotliの脆弱性はどの版を入れれば直る?
Brotli本体はv1.0.10・v1.1.1・v1.2.1で直っています。どれも10月21日に出た版です。Pythonの部品は「Brotli」がv1.2.1、「brotlicffi」がv1.2.1.0です。影響を受けるのはv1.0.3からv1.2.0までなので、手元の版がこの間にあれば上げます。
すぐにBrotliを更新できないときはどうする?
信頼できないデータに対してだけBrotliの展開を止めます。gzipやdeflateといったほかの圧縮形式は使ったままでかまいません。Brotliを中に抱えたアプリやコンテナ、Bunで作った単体の実行ファイルは、部品の更新だけでは直らないので作り直して配り直す必要があります。

この記事の出典

補助資料

  • [1]窓の杜窓の杜・補助的な二次資料・確認 2026-10-26この記事の元にした報道

出典の最終確認日:2026年10月26日

次に読む記事

SHARE

広告を載せており、そこから申し込みがあると紹介料を受け取ることがあります。

よく読まれている定番ガイド60本
この記事に出てくるAIも、まとめて比べられます 507本のAIツールを、やりたいこと・料金・日本語対応で絞り込めるデータベースです。5日ごとに料金を取り直しています。 AIツールを探す

あわせて読みたいRELATED