FORSMILE
EN
セキュリティ2026/11/02

【緊急】Node.js・Brotli CVE-2026-111497:CISAが悪用確認のKEVに追加(10月27日)— 22.23.4/24.22.1/26.12.1へ更新を、狙われるのはBrotliを展開するアプリ(CVSS v3.1 9.8)

Node.jsなどが使う圧縮ライブラリBrotliの脆弱性CVE-2026-111497が、10月27日にCISAの悪用確認済みカタログ(KEV)に追加されました。細工した圧縮データを展開させるだけで、メモリの破壊や情報漏えい、コード実行につながる恐れがあります。修正版、確認方法、更新できないときの手当てを整理します。

← ブログ一覧へ / Back to Blog

圧縮ライブラリBrotliの脆弱性CVE-2026-111497(CVSS v3.1で9.8 CRITICAL)が、2026年10月27日にCISA(米国のサイバーセキュリティ機関)の「KEV」に追加されました。KEVは、実際に悪用された脆弱性のカタログです。細工したBrotli圧縮データを展開させると、メモリの破壊、メモリ内容の漏えい、サービス停止、条件次第でコード実行につながる恐れがあります。Node.jsでWebサービスやAPIを動かしている方は、22.23.4/24.22.1/26.12.1のいずれかへ更新してください。

10月23日の週間まとめ記事でNode.jsの10件の一つとして触れた件ですが、その後に状況が変わりました。10月21日のNode.jsの告知には、悪用の記載がありませんでした。10月27日にCISAがKEVへ追加し、シンガポールのサイバーセキュリティ庁(CSA)は10月30日に「攻撃コードが公開され、悪用も報告されている」と注意喚起を出しています。

⚠ CVE Score — 最高危険度 / CRITICAL
9.8CRITICALCVSS v3.1CVE-2026-111497

スコアの出どころ:9.8(CVSS v3.1、ネットワークから・低い複雑さ・権限不要・利用者の操作不要)は、NVDにNIST自身が付けた評価です。Googleは別にCVSS v4.0で9.2 CRITICALを付けています。なお、Node.jsの公式告知は同じ欠陥を深刻度「高(High)」と書いており、評価は機関によって違います。この記事はNVDのv3.1を採りました。

何が起きるのか(公表されている範囲)

  • ▸場所:Brotliの展開(デコード)処理です。不正な圧縮データに対して、デコーダーが内部のバッファの終わりを越えて書き込んでしまいます(Node.jsの告知)
  • ▸起こること:クラッシュ、プロセスのメモリ内容の漏えい、リモートコード実行(Node.jsの告知)。成立する条件は、アプリが攻撃者の送ったBrotliデータを展開することです(CSAの注意喚起)
  • ▸悪用の状況:CISAは10月27日にKEVへ追加し、連邦機関の対応期限を11月10日としました。CISAは攻撃の件数・時期・攻撃者を書いていません。CSAは、攻撃コードが公開されていて悪用も報告されていると書いています
  • ▸別名:「Node2Shell」「HTTP2Shell」とも呼ばれています(JVN)。この記事では手順は書きません

影響を受けるバージョンと、上げるべき版

  • ▸Node.js:修正版は22.23.4/24.22.1/26.12.1(10月21日公開)。Node.jsは「サポートが終わった版は、セキュリティリリースの度に必ず影響を受ける」と書いています。告知が修正版を示しているのは、この3系統だけです
  • ▸Brotli本体:1.0.3以上1.0.10未満、1.1.0以上1.1.1未満、1.2.0以上1.2.1未満が対象。修正版は1.0.10/1.1.1/1.2.1(Google、NVD、JVN)
  • ▸Pythonのパッケージ:`brotli`は1.0.3以上1.2.1未満が対象で1.2.1で修正。`brotlicffi`は1.0.3以上1.2.1.0未満が対象で1.2.1.0で修正(GitHubのアドバイザリ)。JPCERT/CCは、Node.jsのほか、BunやPython向けのBrotliパッケージも例に挙げています
  • ▸.NET:8.0は8.0.33、9.0は9.0.22、10.0は10.0.14で修正(Microsoftの告知、10月25日)。.NET Frameworkは対象外と書かれています

今日やること

  • ✓★Node.jsの版を確認する。サーバーやCIで `node --version`、コンテナは `docker run --rm <イメージ名> node --version`。`node:24.22.0` のように修正版より古い版を固定したタグは、脆弱なままです
  • ✓★22.23.4/24.22.1/26.12.1のいずれかへ更新し、プロセスを再起動する。コンテナはイメージを作り直して再デプロイします
  • ✓サポート中の系統へ移る。告知に修正版が無い系統(20系・23系・25系など)は、更新では直りません
  • ✓OSのパッケージやマネージドサービスでNode.jsを使っている場合は、提供元の案内を確認する。自分で更新できない環境は、提供元の対応に任されます
  • ✓自分のコードで `node:zlib` のBrotli関数(`brotliDecompress`・`createBrotliDecompress`)を使う箇所を探す。Node.jsの告知は、アプリが `node:zlib` で展開するBrotliデータを攻撃者が渡せる場合を挙げています。フレームワークや外部通信のライブラリが内部で使っているかは、公式資料では確認できていません
  • ✓PythonのBrotliパッケージ、.NET、Bunなど、Node.js以外も確認する。上の版を使う
  • ✓更新の前後で、アプリの異常終了や不審な要求がないかログを見る。インターネットに公開しているサービスを優先します(当サイトの補足)

今すぐ更新できないとき

Node.jsの告知に、更新以外の回避策は書かれていません。GoogleのBrotliも、回避策は示していません(JPCERT/CC)。公式が示していない一時しのぎは、効果を保証できないため、この記事では手順として載せません。更新できないときは、次の2点を優先してください。

  • ▸インターネットに公開しているサービスから先に更新する。KEVに追加された事実と、攻撃コードの公開をCSAが書いている点が、順番の根拠です
  • ▸提供元(ホスティング会社、マネージドサービス、ディストリビューション)の案内を確認し、更新の予定を聞く。更新できるまでの期間のログを残し、更新後に調べられるようにします

確認できなかったこと

  • ▸実際の攻撃の件数・時期・攻撃者。CISAは書いていません。日本国内の被害の有無は、この記事では示せません
  • ▸自分のアプリが実際に狙われる条件か。攻撃は、アプリが攻撃者の送ったBrotliデータを展開する場合に成り立ちます(CSA)。要求の本文を展開する構成か、外部の応答を展開する構成かは、アプリごとに違い、公式資料からは判断できません
  • ▸一時しのぎの効果。研究者や報道は、プロキシで `Content-Encoding: br` の要求を拒否する方法などを挙げていますが、ベンダーの資料では確認できていません。外から取り込む応答は防げない可能性もあります
  • ▸20系・23系・25系の扱い。Node.jsの告知は修正版を示していません。NVDの対象範囲は、22.23.4より前、23.0.0〜24.22.1未満、25.0.0〜26.12.1未満です
  • ▸ほかの製品への波及。Brotliを内蔵する製品は多く、JPCERT/CCは各開発元の情報の確認を求めています。この記事は網羅ではありません

共有するならこの3行

  • ▸Node.js・BrotliのCVE-2026-111497(CVSS v3.1 9.8)が、10月27日にCISAの「悪用確認」カタログ(KEV)に追加された。細工した圧縮データを展開させるだけで、コード実行につながる恐れがある
  • ▸★Node.jsは22.23.4/24.22.1/26.12.1へ更新して再起動。コンテナはイメージを作り直す。20系・23系・25系は修正版が無いので、サポート中の系統へ
  • ▸すぐ上げられないなら、インターネットに公開しているものを最優先に。提供元の案内を確認し、更新までのログを残す

根拠にしたページ

参考リンク / References
🚨 「しまった!」と思ったら、今すぐこちらへ

被害に遭った直後・遭ったかもしれない時のための、状況別の緊急対応ガイドです。落ち着いて、上から順に対処すれば大丈夫です。

Related articles
【緊急】GitLab CVE-2026-97229:CISAが悪用確認のKEVに追加(10月29日)— 認証なしでサーバー上のコードを実行される恐れ、最新のパッチ版へ更新を(CVSS v3.1 10.0)2026/10/30【緊急】Linuxカーネル「Fragnesia」CVE-2026-46300:CISAが悪用確認のKEVに追加(10月28日)— カーネルを更新して再起動を(CVSS v3.1 7.8)2026/10/29【緊急】PHP CVE-2026-109618・CVE-2026-109619:CISAが「悪用確認」のKEVに追加(10月26日)— 8.5.12/8.4.27/8.3.36/8.2.35へ今すぐ更新(CVSS v4.0 9.2)2026/10/27PHPのバージョン・更新状況の確認方法|レンタルサーバー・自前サーバー・Docker2026/10/26【緊急】Nextcloud「Collabora Online - Built-in CODE Server」CVE-2026-110447:26.4.303以上へ更新か削除を(CVSS v4.0 9.2)— 悪用が確認済み、アプリを無効にするだけでは足りない2026/10/26