本文へスキップ

Node.js 26.12.1、24.22.1、22.23.4が脆弱性10件を修正

Node.js(ノード・ジェイエス)は2026年10月21日に脆弱性10件を修正しました。うち4件は深刻度「高」で、リモートからのコード実行につながりうるBrotliデコーダーのバグも含まれます。

著者 Tech AI Wire Team

3 分で読めます

「Wednesday, October 21, 2026 Security Releases」と題したNode.jsのブログ記事。目次に修正対象のCVEが並んでいます。

数字で見る

vulnerabilities fixed across three release lines
10
rated high severity
4
bundled dependencies updated, eMudhra block included
5

Node.jsプロジェクトは2026年10月21日、サポート中の3つのリリースラインすべてにセキュリティリリースを公開し、脆弱性10件を修正しました。4件は深刻度「高」です。その中には、プロジェクトがリモートからのコード実行を許しうるとするBrotliデコーダーのバグがあります。Node.js 26、24、22を使っている人は、26.12.1、24.22.1、22.23.4に更新してください。

修正版と対象範囲

Node.jsは、Web APIからビルドツールまで、サーバー側JavaScriptの多くを動かすJavaScriptランタイムです。Node.jsのセキュリティ告知は、修正を深刻度別に挙げています。「高」が4件、「中」が3件、「低」が3件です。各リリースラインに修正版が1つずつあります。

リリースライン修正版状態
26.x26.12.1Current
24.x24.22.1LTS
22.x22.23.4LTS

LTSは長期サポートの意味で、何年にもわたって修正が届くラインです。各社の対応を調べた日本のサイトJinraiによると、24.xのサポートは2028年4月30日まで、22.xは2027年4月30日までです。Node.js 26は2026年10月28日にLTSへ移行する予定です。

今回のリリースでは、同梱ライブラリー5つも更新されました。c-ares(DNSの名前解決)、Undici(fetchを支えるHTTPクライアント)、OpenSSL、SQLite、組み込みの証明書リストです。最後の変更で、今週鍵の流出が判明した認証局eMudhraの証明書がブロックされます。この件はTech AI Wireの記事eMudhraのCA鍵が漏えい、Go・Firefox・NSSが修正版を公開で取り上げています。

深刻度「高」の4件

CVE何が起きるか影響するライン
CVE-2026-111497Brotliデコーダーが範囲外に書き込み、リモートからのコード実行を許す26、24、22
CVE-2026-106069ホストがIPアドレスに緩く解決されると、TLSのホスト名検証が通ってしまう26、24、22
CVE-2026-105483IPアドレスが全角数字で書かれると、TLSのホスト名検証が通ってしまう26、24
CVE-2026-105482dns.resolveがNUL文字を含む名前を途中で切り詰める26、24、22

Brotliは、Webサーバーやブラウザーがレスポンスを縮めるために使う圧縮形式です。範囲外書き込みとは、デコーダーが与えられたメモリの外側にデータを書いてしまうことです。Jinraiは、攻撃者に必要な条件を公式告知がまだ説明していないと指摘しています。

TLSの2件は、サーバーの証明書が接続先のアドレスと一致するかを確かめる処理にあります。アドレスが変わった形で書かれていると、この検証が間違った証明書を通すことがあります。Jinraiは修正記録を引き、悪用は「容易ではない」と伝えています。日本時間10月22日未明の時点で、攻撃の報告はありませんでした。

確認しておきたい「中」と「低」のバグ

「中」の1件は、単一実行ファイル(SEA)やスタートアップスナップショットで作ったアプリに影響します。どちらも、準備済みのプログラムのコピーを1つのファイルに焼き込む仕組みです。Node.jsの告知によると、crypto.randomUUID()とrandomInt()が使う乱数のキャッシュがそのコピーに保存されていました。そのため、どのプロセスも同じ値を繰り返していました。

別の「中」のバグでは、キープアライブ接続が、リクエスト送信前に書かれたレスポンスを受け取ってしまいます。「低」の2件はPermission Modelに関するものです。これは、スクリプトが触れるファイルを制限する任意のサンドボックスです。

開発者にとっての意味

更新作業そのものは定型的です。ただし、Node.jsをどこから入手しているかで、修正が届く速さが変わります。

  • 手元のPCだけでなく、すべての実行環境を確認する。 本番、CI、コンテナーでnode --versionを実行してください。Jinraiによると、公式Dockerイメージには修正版のタグがすでに付いていました。一方、Homebrewは数時間後も26.12.0のままでした。
  • 単一ファイルのアプリを再ビルドする。 SEAを配布している場合やスタートアップスナップショットを使っている場合は、修正済みのNode.jsで再ビルドしてください。ランタイムを直しても、古いバイナリーに焼き込まれた乱数は直りません。
  • Node.js 20と25から移行する。 Node.jsの告知は、サポート終了版は常に影響を受けるとしています。Jinraiも、どちらにも修正が出ないことを確認しています。バージョン20のサポートは2026年4月30日に終了しました。
  • クライアントのデータを展開するサービスを優先する。 Brotliで圧縮されたリクエスト本文を受け付ける公開APIは、CVE-2026-111497の最もわかりやすい標的です。

heise onlineが指摘するように、eMudhraのブロックは更新と一緒に届きます。Node.jsは、ブロック対象の中間証明書のリストを持つようになりました。これにより、ルート証明書がまだ信頼されていても、証明書チェーンを拒否できます。前回の9月のNode.jsセキュリティ修正は、より小規模なものでした。Node.js 22.23.3 LTS、HTTP/2のuse-after-freeバグを修正をご覧ください。

出典

  1. Wednesday, October 21, 2026 Security Releases - Node.js
  2. Node.js fixes its own and inherited security vulnerabilities - heise online
  3. Node.jsに脆弱性10件|修正版と各社の対応【2026年10月】 - Jinrai

関連記事

BunブログのBun v1.4.3リリース記事のスクリーンショット。Jarred Sumner氏による2026年10月10日付の記事で、インストールとアップグレードのコマンドが載っています。
開発ツール

Tools This Week:2026年10月16日 - Bun 1.4.3、Figma Specs

今週の開発者ツール10本を紹介します。Bun(バン)1.4.3のTypeScript型チェッカーとFigma Specsを筆頭に、Rust 1.99.1、GitHubのライセンスチェック、DeepSeek V4.1-Flash-1017も取り上げます。

CloudSEKのブログ記事「MALFEX - A malicious npm postinstall no advisory has caught for fourteen months」のスクリーンショット。レポートのヘッダー画像の上に表示されている。
開発ツール

npmマルウェア「MALFEX」、14か月間検知されず稼働

1人の攻撃者によるnpmのサプライチェーン攻撃「MALFEX」は、2023年以降に12個のパッケージを公開し、ダウンロード数は40,767回に達した。一部は今もアドバイザリーなしで公開されている。