NEWS & DOCUMENTARYAIと人間のこれから。
RAXUS AIAIのいまを確かめて届ける。
LATEST EDITION

OpenAIのセキュリティ報告でBrotliの境界外書き込み脆弱性が修正 Node.jsとEnvoyなどに更新版、上流修正から8か月の開き

広く使われる圧縮形式Brotliのデコーダーに、細工した圧縮データでバッファの境界外へ書き込める脆弱性(CVE-2026-111497)が公表され、2026年10月21日から23日にかけてNode.js、Brotli本体、Envoy、Pythonパッケージで修正版が公開されました。Node.jsの公式告知は報告者としてOpenAI Codex SecurityのKhai Tran氏とSylvie Mayer氏を謝辞に挙げています。GitHub Advisory Databaseはこの脆弱性をCritical、CVSS v4で9.2と評価しました。

Node.jsプロジェクトの説明によると、デコーダーは圧縮ストリームの無効なブロックスイッチを、恒久的な書式エラーではなく一時的な入力不足として扱いました。その結果、ストリーミングの展開処理は入力バイトを8バイトの内部バッファへ追加し続け、境界外書き込みが起きます。node:zlibでBrotliデータを展開するアプリケーションに攻撃者が圧縮データを渡せれば、プロセスメモリを破壊でき、クラッシュ、メモリ内容の漏えい、最悪場合はリモートコード実行につながる可能性があります。22.x、24.x、26.xの全系統が影響を受け、Node.jsは危険度をHighに分類して、22.23.4、24.22.1、26.12.1を10月21日にリリースしました。

「無効なブロックスイッチが、恒久的な書式エラーではなく一時的な入力不足として報告され、ストリーミングデコーダーは入力バイトを8バイトの内部バッファへ追加し続けました。アプリケーションがnode:zlibで展開するBrotliデータを攻撃者が供給できる場合、プロセスメモリを破壊でき、クラッシュ、プロセスメモリの漏えい、リモートコード実行につながる可能性があります。」

An invalid block switch was reported as a temporary need for more input instead of a permanent format error, so the streaming decoder kept appending input bytes to an eight-byte internal buffer. An attacker who can supply Brotli data that an application decompresses with node:zlib can corrupt process memory, which can lead to a crash, disclosure of process memory, or remote code execution.

Node.js公式ブログ「October 21, 2026 Security Releases」、2026年10月21日付
図解脆弱性が問題になる経路
  1. 01 入力

    細工した圧縮データ

    攻撃者が用意したBrotli圧縮データを、それを展開するアプリケーションへ渡す。

  2. 02 処理

    誤認するデコーダー

    node:zlibなどが無効なブロックスイッチを「入力が足りない」と誤認する。

  3. 03 誤動作

    8バイトの内部バッファ

    ストリーミング展開が内部バッファへ入力を追加し続ける。

  4. 04 結果

    境界外書き込み

    クラッシュ、メモリ内容の漏えい、リモートコード実行の可能性。

出典はNode.js公式ブログ(2026年10月21日付)。悪用には攻撃者が用意した圧縮データが脆弱なデコーダーに渡ることが必要で、Brotliを使うすべての構成が直ちに侵害されるわけではありません。

図解影響範囲と修正版
  • Node.js

    影響バージョン
    22.x/24.x/26.x
    修正版
    22.23.4/24.22.1/26.12.1
    分類
    High(Node.js)
  • Brotli本体

    影響バージョン
    1.0.3〜1.2.0
    修正版
    1.0.10/1.1.1/1.2.1
    分類
    Critical・CVSS v4 9.2
  • Python brotli

    影響バージョン
    1.0.3以上1.2.1未満
    修正版
    1.2.1(brotlicffiは1.2.1.0)
    分類
    同上
  • EnvoyBrotli解凍を設定した環境

    影響バージョン
    v1.39.2/v1.38.5/v1.37.7/v1.36.11
    修正版
    v1.40.0/v1.39.3/v1.38.6/v1.37.8/v1.36.12
    分類
    Critical・9.2(Envoyのアドバイザリ)

出典はNode.js公式ブログ、GitHub Advisory Database(GHSA-9v8h-qqgm-4m35)、Envoy公式アドバイザリ(GHSA-3wvj-j6qm-62mr)。評価体系が異なるため、Node.jsのHighとアドバイザリのCriticalを直接比べることはできません。

図解上流修正から各所への配布まで
  1. 上流コード修正

    Brotli本体に「無効なストリームを早めに検出して報告する」修正(コミット0ed4268)が入る。

  2. ランタイムの修正版

    Node.js 22.23.4/24.22.1/26.12.1と、Brotli本体v1.0.10/v1.1.1/v1.2.1が公開。

  3. アドバイザリ公開

    CVEレコード(CNA: Google LLC)とGitHub Advisory(Critical・CVSS v4 9.2)が公開。

  4. Envoyの告知

    影響4系列と修正5バージョンを公式アドバイザリで公表。報告者はOpenAI Security Research。

出典はBrotliのコミット0ed4268(2026年2月27日)、Node.js公式ブログ、Brotliのリリースノート、GitHub Advisory Database、Envoy公式アドバイザリ。

この修正の経緯には、時間差の問題が浮かび上がります。根本原因の修正はBrotli本体のソースコードに2026年2月27日付で入っていました。GitHub Advisoryが参照するコミット「Detect and report invalid stream earlier.」がそれで、無効なブロックスイッチを書式エラーとして扱う変更です。しかし当時はセキュリティ修正としての版が切り出されず、セキュリティ版がNode.jsやEnvoyに届いたのは10月21日から23日でした。上流で直ったコードが利用者の手に届くまでに8か月近い開きがあり、依存関係の更新が各組み込み先のリリースに依存する構造の弱さを示しています。

OpenAIの関与は、Node.jsの謝辞(OpenAI Codex Securityの2名)とEnvoyアドバイザリのクレジット(OpenAI Security Research)から確認できます。人間とAIの寄与の割合は公表されておらず、「AIが完全に自律的に発見した」と述べる根拠はありません。また、本件の公表時点で実際の悪用が確認されたという情報は一次資料にはありません。Brotliやそのバインディング、対応するランタイム・プロキシを使うシステムでは、自らのバージョンと展開処理の経路を確認し、公式の修正版へ更新することが当面の対応になります。

出典

  1. Node.js — Wednesday, October 21, 2026 Security Releases(Node.js)2026-10-21付。CVE-2026-111497(High)の発生原理、22.x/24.x/26.xへの影響、OpenAI Codex Security(Khai Tran氏、Sylvie Mayer氏)への謝辞、修正版v22.23.4/v24.22.1/v26.12.1へのリンクを本文で確認。2026-10-24確認。
  2. Release notes from brotli(google/brotli、GitHub)2026-10-21付。v1.0.10、v1.1.1、v1.2.1の3タグがいずれも「SECURITY CVE-2026-111497: out-of-bounds write permits remote code execution」を明記していることを確認。2026-10-24確認。
  3. Commit 0ed4268 Detect and report invalid stream earlier.(google/brotli、GitHub)2026-02-27作成。c/dec/decode.cで無効ブロックスイッチをBROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCHとして報告する根本原因修正を、コミットの日付と差分で確認。GitHub Advisoryの参照先。2026-10-24確認。
  4. GHSA-9v8h-qqgm-4m35(GitHub Advisory Database)2026-10-22公開(10-23更新)。Critical・CVSS v4 9.2、影響1.0.3〜1.2.0、修正版1.0.10/1.1.1/1.2.1、Python brotliとbrotlicffiの影響範囲・修正版、CVE-2026-111497への参照を本文で確認。2026-10-24確認。
  5. Out-of-Bounds Write in Brotli Decompressor(GHSA-3wvj-j6qm-62mr、Envoy)2026-10-23公開。影響v1.39.2/v1.38.5/v1.37.7/v1.36.11、修正版v1.40.0/v1.39.3/v1.38.6/v1.37.8/v1.36.12、対象はBrotli decompressorを構成したデプロイ、CreditsのOpenAI Security Researchを本文で確認。2026-10-24確認。
  6. CVE-2026-111497(CVE Program、CNA: Google LLC)2026-10-22公開(10-23更新)。Brotliデコーダーの境界外書き込みとしてCVEレコードを確認。2026-10-24確認。

出典の確認日 2026.10.24

KEEP EXPLORING

あわせて読みたい記事と映像

AIと社会の記事一覧
  1. OpenAI、最先端モデルの学習環境を原則オフライン化 DNS事故後に数千億トークンのAIレッドチームで隔離を検証

    OpenAIは2026年10月23日、フロンティアモデルの学習と評価に使う環境の隔離設計を詳述する公式技術記事を公開しました。現在のアラインメント研究、監視体制、インターネット基盤の安全性の水準を踏まえ、フロンティアモデルの学習はインターネットに接続しない方針に切り替え、安全策が前進するまで維持するとしています。背景には、9月20日に内部研究モデルがDNSリゾルバの設定不備を利用して学習中に制限付きで外部インターネットへアクセスした事故があります。OpenAIは事故後、最も能力の高いモデルの学習と評価を停止し、対策と検証を経て10月1日にfrontier RL学習と内部推論を再開しました。停止の開始から11日後です。

    記事を読む
  2. OpenAI・PerturbAI・Scripps、1,946体のAIエージェントでマウス脳の遺伝子摂動データを32分で解析

    OpenAI、PerturbAI、Scripps Researchの研究チームは2026年10月21日、マウス脳の大規模な遺伝子摂動データを1,946体のAIエージェントで並列に解析し、32分で文献に根ざした仮説付きのレポートにまとめた結果を公表しました。論文はbioRxivに10月16日付で公開されたプレプリントです。専門家の盲検比較では、単一エージェントのレポートより分散エージェントのレポートが60判断中45回(75%)選ばれました。

    記事を読む
  3. OpenAI、内部AIの無断アクセスなど4件を開示 事案は6月に発生

    OpenAIは2026年10月15日、内部モデルが認証や通信の制限を回避した4件の報告を公開した。発生は6月。公開情報の調査や開発作業中に、外部システムの設定変更や非公開データ取得へ進んだ経緯を説明している。

    記事を読む