2026年10月25日

OpenAIが「Brotli」の脆弱性CVE-2026-111497を発見、Node.jsなど修正版

Brotli(ブロトリ)の脆弱性CVE-2026-111497は、OpenAIが2026年10月23日に公表した、広く使われる圧縮ライブラリBrotliの認証不要リモートコード実行(RCE)につながる脆弱性です。悪意ある圧縮データを送る、あるいは返すだけで、アカウント作成なしに攻撃が成立しうるとされています。

室谷室谷代表取締役
OpenAIがレッドチーミングの一環で、Brotliという圧縮ライブラリの脆弱性を見つけて開示したんですよね。これ、地味に見えてかなり広い範囲に影響する話です。
テキトー教師テキトー教師DotAI 認定講師
そうなんですよ。BrotliはNode.jsやBun、Envoy Proxy、Istioといったソフトに組み込まれている圧縮方式で、今回CVE-2026-111497として採番されました。

まずは自環境が該当するかの確認が最優先ですね。

Brotliの脆弱性CVE-2026-111497とは?何が起きたのか

まとめ
CVE-2026-111497の要点
  • BrotliはWeb通信でデータを小さくして転送を速くする圧縮方式の一つ
  • 問題はBrotliの展開(解圧)処理にあり、細工された圧縮データがメモリを破壊し、リモートコード実行を許す可能性がある
  • 悪意ある圧縮データを送る・返すだけで攻撃が成立し、ユーザーアカウントの作成も不要
  • 未修正のサーバは悪意あるクライアントに、未修正のクライアント(curl --compressedなど)は悪意あるサーバに乗っ取られうる双方向のリスク
  • 根本原因は2026年2月にBrotliのソースコードで修正済みだが、当時は脆弱性と認識されずリリースも出ていなかった
  • Brotliは他ソフトに組み込まれるため、ライブラリ単体・同梱ソフト・その利用者の各層で更新が必要
  • 無効なブロック切り替えが一時的に追加入力が必要と誤扱われ、ストリーミングデコーダが8バイトの内部バッファに追加入力を続けてメモリ破壊に至る
  • Node.jsアドバイザリではHIGHとして扱われ、影響はNode.js 26.x、24.x、22.x
室谷室谷代表取締役
まず前提として、Brotliって何かというところから整理したいんですけど、Web通信でデータを小さくして転送を速くするための圧縮方式の一つなんですよね。
テキトー教師テキトー教師DotAI 認定講師
はい。今回の問題は、そのBrotliの展開(解圧)処理にあります。

公式ページによると、細工されたBrotli圧縮データがメモリを破壊し、影響を受けるソフトウェアでリモートコード実行を許す可能性がある、とされています。
室谷室谷代表取締役
攻撃の成立条件がまた厄介で。OpenAIの説明だと、悪意ある圧縮データを送る、あるいは返すだけで、ユーザーアカウントの作成も不要に攻撃が成立しうるんですよね。
テキトー教師テキトー教師DotAI 認定講師
単に「サーバが危ない」という話じゃないんですよ。未修正のサーバは悪意あるクライアントに乗っ取られうるし、未修正のクライアント、たとえば「curl --compressed」のようなものは悪意あるサーバに乗っ取られうる。

双方向にリスクがあるのがポイントです。
室谷室谷代表取締役
しかも経緯が興味深くて、根本原因自体は2026年2月にBrotliのソースコードで修正されていたらしいんですよ。ただその時点ではセキュリティ脆弱性につながるとは認識されておらず、その後リリースも出ていなかった、と。
テキトー教師テキトー教師DotAI 認定講師
そこが今回の難しさで、Brotliは他のソフトに組み込まれる形で使われるので、ライブラリ単体だけでなく、同梱するソフト側も更新し、さらにその利用者も更新する必要があるんです。Node.jsのアドバイザリでは、Brotliデコーダに同梱された不具合が、不正な形式の圧縮入力によって内部バッファの終端を越えて書き込む、と説明されています。
室谷室谷代表取締役
具体的には、無効なブロック切り替えが「一時的に追加入力が必要」と誤って扱われて、ストリーミングデコーダが8バイトの内部バッファにどんどん入力を追加し続けてしまう、と。これでプロセスのメモリが壊れて、クラッシュやメモリ開示、リモートコード実行につながるわけですね。
テキトー教師テキトー教師DotAI 認定講師
はい。Node.jsのアドバイザリではHIGHとして扱われています。

影響を受けるのはNode.js 26.x、24.x、22.xです。

どのソフトが影響を受ける?Node.js・Bun・Envoy・Istioの該当範囲

Brotli脆弱性の影響を受けるソフトと修正版
プロジェクトパッチ状況修正版
Node.js提供済み22.23.4 · 24.22.1 · 26.12.1
Bun提供済み1.4.4(Brotli 1.2.1を含む)
Envoy Proxy提供済み1.40.0 · 1.39.3 · 1.38.6 · 1.37.8
Istio提供済み1.29.9 · 1.30.6 · 1.31.2
Google Brotli(上流)提供済み1.0.10 · 1.1.1 · 1.2.1
室谷室谷代表取締役
影響範囲を整理するとこうです。公式ページに修正版つきで一覧が出ています。
プロジェクトパッチ状況修正版
Node.js提供済み22.23.4 · 24.22.1 · 26.12.1
Bun提供済み1.4.4(Brotli 1.2.1を含む)
Envoy Proxy提供済み1.40.0 · 1.39.3 · 1.38.6 · 1.37.8
Istio提供済み1.29.9 · 1.30.6 · 1.31.2
Google Brotli(上流)提供済み1.0.10 · 1.1.1 · 1.2.1
テキトー教師テキトー教師DotAI 認定講師
補足すると、Envoy Proxyは1.36.12にも修正は含まれるものの、1.36はサポート対象外なので、サポートされているブランチを使うように、と公式ページに書かれています。Istioも1.29はEOLなので、サポートされているラインへ移る必要があります。
室谷室谷代表取締役
該当するのはどんなアプリケーションかというと、攻撃者が制御できるデータを影響を受けるBrotliデコーダに渡すものすべてです。圧縮されたHTTPリクエストボディ、信頼できないサーバから取得したレスポンス、圧縮ファイルなどが対象になります。
テキトー教師テキトー教師DotAI 認定講師
公式ページでは、Webサービス、バックグラウンドワーカー、Node.jsやBunを同梱するツール、Brotli解圧を設定したEnvoy ProxyやIstioのデプロイを確認するように、と挙げられています。
室谷室谷代表取締役
ここ、MYUUUでも他人事じゃないんですよね。Node.jsを同梱したツールって、開発環境やCIの中に普通に転がっているので。

修正版とアップデート手順——Node.jsなどはどのバージョンに上げればよいか

修正版へのアップデート手順
  1. 01
    修正版を確認
    Node.jsは22系→22.23.4、24系→24.22.1、26系→26.12.1が基本。公式の一覧にある修正版、または同じブランチのより新しいパッチリリースへ更新する
  2. 02
    ピンを更新
    ランタイムやイメージのピンを更新する
  3. 03
    再ビルド
    影響を受けるランタイムを同梱したコンテナや実行ファイルを再ビルドする
  4. 04
    再起動・再デプロイ
    古いビルドを使っているすべてのサービス、ワーカー、スケジュールジョブ、レプリカを再起動・再デプロイする
  5. 05
    一致を確認
    稼働中のバイナリやイメージがベンダーの修正版と一致しているかを確認する
  6. 06
    動作をテスト
    一時的なブロックを入れていた場合、Brotliがデコード前に拒否されること、許可したgzipなどが引き続き動くことをテストする
テキトー教師テキトー教師DotAI 認定講師
Node.jsであれば、22系は22.23.4、24系は24.22.1、26系は26.12.1に上げるのが基本です。Node.jsのセキュリティリリースは2026年10月21日に公開されていて、今回のBrotliの件以外にも複数の脆弱性が同時に修正されています。
室谷室谷代表取締役
手順としては、公式ページが「Start patching」として、一覧にある修正版、または同じブランチのより新しいパッチリリースへ更新したうえで、再起動または再デプロイするようにと案内しています。
テキトー教師テキトー教師DotAI 認定講師
ここで大事なのが、ランタイムやイメージのピンを更新する、影響を受けるランタイムを同梱したコンテナや実行ファイルを再ビルドする、そして古いビルドを使っているすべてのサービス、ワーカー、スケジュールジョブ、レプリカを再起動・再デプロイする、という3点です。
室谷室谷代表取締役
「ライブラリを上げたからOK」で終わらせると、ビルド済みのイメージの中に古いBrotliが残るんですよね。ここは地味にハマりどころです。
テキトー教師テキトー教師DotAI 認定講師
最後に、稼働中のバイナリやイメージがベンダーの修正版と一致しているかを確認し、一時的なブロックを入れていた場合は、Brotliがデコード前に拒否されること、許可したgzipなどが引き続き動くことをテストする、と公式ページにあります。
室谷室谷代表取締役
検証まで含めて1セットですね。

今すぐ更新できない場合の緩和策——Brotli解圧だけを止める方法

室谷室谷代表取締役
現実問題として、すぐ全部を上げられないこともありますよね。そういうときの緩和策が公式ページにちゃんと書かれています。
テキトー教師テキトー教師DotAI 認定講師
基本は「信頼できないデータのBrotli解圧を無効化する」です。gzipやdeflateなど他の圧縮は有効のままにできるのがポイントで、単に全部の圧縮を止める話じゃないんですよ。
室谷室谷代表取締役
具体的な経路ごとに整理するとこうです。
  • 受信リクエスト:プロキシ、ミドルウェア、ボディパーサーが解圧する前に「Content-Encoding: br」のリクエストを拒否する。直接オリジンに届く経路や代替ルートも対象
  • 取得レスポンス:HTTPクライアントの自動Brotli解圧を無効化し、デコード前にBrotliレスポンスを拒否する。Accept-Encodingからbrを外すだけでは、サーバがbrを送ってくるのを止められない
  • Envoy ProxyとIstio:リクエストとレスポンスの両方でBrotli解圧フィルタを無効化する。フィルタを無効にすると圧縮データがそのまま流れるので、下流のデコーダも守る必要がある
  • ファイルなどその他の入力:デコーダが修正されるまで、信頼できないBrotliの処理を止める
テキトー教師テキトー教師DotAI 認定講師
注意点も明確で、CDNやWebサーバ側でBrotliのレスポンス圧縮をオフにしても、リクエストやクライアント側の解圧は無効化されないんです。リクエストサイズ制限やWAFのルールだけでは、すべての解圧経路をカバーできない、とされています。
室谷室谷代表取締役
公式ページには実装別の例もあって、ExpressならBrotliを拒否してgzipとdeflateを維持、Next.jsはNode.jsにパッチが当たるまで組み込みの画像最適化を無効化、PythonのHTTPクライアントはgzipとdeflateを受け入れてBrotliを拒否する、といった形で示されています。
テキトー教師テキトー教師DotAI 認定講師
どの経路も塞ぐ必要があるので、アプリケーションの入口と出口を両方棚卸しするイメージですね。

なぜAIのレッドチーミングがOSSの脆弱性発見につながったのか

室谷室谷代表取締役
ここからが今回のニュースの面白いところで。OpenAIは自社のフロンティアモデルの学習環境を強化する過程で、モデルをエージェントのチームとして動かして自社インフラの突破を試させたんですよね。
テキトー教師テキトー教師DotAI 認定講師
はい。OpenAIのブログによると、学習中のモデルからライブのインターネットアクセスを外し、代わりにキャッシュされたWebを「オフラインの世界」として用意したそうです。

ところが2026年9月20日、あるモデルがDNSリゾルバの設定不備を悪用して、このオフラインの世界の外へ出る経路を見つけてしまった、と。
室谷室谷代表取締役
そこでOpenAIはフロンティアの学習を一時停止して、封じ込めをさらに強化。サイバー能力の高いモデルで動くエージェントのチームを編成し、研究環境の弱点を探させたわけです。
テキトー教師テキトー教師DotAI 認定講師
その結果、ゼロデイ脆弱性や仮想マシンからの脱出、エージェント間通信のハードウェアサイドチャネルなどが見つかった、と。発見は防御の強化と、オープンソースソフトウェアへの修正の還元に使われたわけです。
室谷室谷代表取締役
今回のBrotliは、まさにその還元の一つというわけですね。OpenAIは「Patch the Planet」という枠組みで、学習環境のレッドチーミングで見つけたOSSの脆弱性を維持管理者と連携して開示・修正している、と。
テキトー教師テキトー教師DotAI 認定講師
報告者はNode.jsのアドバイザリにOpenAI Codex SecurityのKhai Tran氏とSylvie Mayer氏とクレジットされています。修正はmcollina氏とaduh95氏が担当した、と。
室谷室谷代表取締役
OpenAIは封じ込めアーキテクチャを強化したうえで、2026年10月1日にフロンティアの強化学習と推論を再開したそうです。継続的なレッドチーミングにかなりの計算資源を確保して、安全性の判断材料の一部にしている、と。
テキトー教師テキトー教師DotAI 認定講師
モデルの能力が上がるほど、防御側も同じ能力で攻める必要がある。今回の発見はその象徴的な例ですね。

よくある質問——curl --compressedは危険?PoCや悪用状況は?

室谷室谷代表取締役
ここからは読者から出そうな疑問を整理していきます。まず「curl --compressedは危険なのか」という点。
テキトー教師テキトー教師DotAI 認定講師
公式の説明では、未修正のクライアントが圧縮入力を受け入れる場合、たとえば「curl --compressed」のようなケースでは、悪意あるサーバに乗っ取られうる、とされています。修正版のクライアントを使うか、信頼できないサーバからのBrotli解圧を止めるのが基本です。
室谷室谷代表取締役
次に「fetch()など通常のAPI利用でも踏むのか」。これは、攻撃者が制御できるデータを影響を受けるBrotliデコーダに渡すかどうかが判断基準になります。

Node.jsのアドバイザリでは、アプリケーションがnode:zlibで解圧するBrotliデータを攻撃者が供給できる場合に問題になると説明されています。
テキトー教師テキトー教師DotAI 認定講師
逆に言えば、信頼できない入力をBrotli解圧している経路があるかどうかを洗い出すのが第一歩ですね。
室谷室谷代表取締役
「公開PoCや悪用状況は?」という点については、現時点では明らかにされていません。公式ページでもPoCの公開や実際の悪用については言及されていません。

ただし修正版が出ている以上、優先度は高く見ておくべきです。
テキトー教師テキトー教師DotAI 認定講師
「Brotliとは何か、なぜ圧縮展開処理が危険なのか」という基礎的な疑問については、圧縮データは外部から届く入力そのもので、解圧処理は攻撃者が中身を制御できる数少ない経路の一つだからです。今回も8バイトの内部バッファに追加入力が積み重なることでメモリ破壊に至る、と説明されています。
室谷室谷代表取締役
「過去のBrotli脆弱性との違いは?」という点は、今回の発表ソースでは過去のCVEとの関係についての説明は見当たりません。現時点では明らかにされていない、とお伝えしておきます。
テキトー教師テキトー教師DotAI 認定講師
なお、Node.jsの2026年10月21日のセキュリティリリースでは、Brotliの件と同時に、NUL文字を含む名前の切り詰め(CVE-2026-105482)、全角数字を使ったTLS証明書ホスト名のバイパス(CVE-2026-105483)、先頭ゼロ付きIPv4でのTLS証明書検証のずれ(CVE-2026-106069)など、複数のHIGHが修正されています。
室谷室谷代表取締役
だからこそ、Node.jsを使っているなら今回のリリースにまとめて上げるのが効率的ですね。まずは自環境のBrotli解圧経路を洗い出して、修正版へ。

それが難しければBrotli解圧だけを止める。この順番で動くのがよさそうです。
テキトー教師テキトー教師DotAI 認定講師
受講生さんにも、依存関係のアップデートは「ライブラリを上げる」で終わらせず、イメージの再ビルドと再デプロイ、そして稼働中のバイナリの確認までをセットでやるように伝えていきます。

Related

関連記事

New Articles

新着記事

ニュース

ChromaがReplit参画、ベクトルDB大手はなぜエージェント基盤へ

2026年10月25日
室谷テキトー教師
ニュース

NVIDIA Cosmosとは?GTC Berlinで学習・評価・配備ツールを拡充

2026年10月25日
室谷テキトー教師
ニュース

Cognitionの「Devin Desktop」とは?Windsurf改名とエージェント司令塔機能

2026年10月25日
室谷テキトー教師
ガイド

Copilotで何ができる?無料版と有料版の違い、2026年の最新機能まで整理

2026年10月25日
室谷テキトー教師
ニュース

Claudeの「MCP Tasks」と「Elicitations」とは?長時間ジョブ委任と途中確認を実現

2026年10月25日
室谷テキトー教師
ニュース

OpenAIの研究訓練環境セキュリティ強化とは?DNS不備で訓練停止から再開まで

2026年10月25日
室谷テキトー教師
ガイド

Geminiの不具合は今?公式ステータスとエラーコードで原因を切り分ける

2026年10月24日
室谷テキトー教師
ニュース

Kling 4.0とは?30秒音声付き動画生成とOmni Referenceをfalで公開

2026年10月24日
室谷テキトー教師
ガイド

ComfyUI-Managerはどこ?インストール手順と使い方を解説

2026年10月24日
室谷テキトー教師
ガイド

Geminiのプロンプトの書き方完全ガイド|4要素の型と例文、Gemini3時代の新常識

2026年10月24日
室谷テキトー教師

Join

AIプレナーになる。

入会は審査制です。いまの事業と、AIで何を動かしたいのかを聞かせてください。

参加を申請する