
10件の脆弱性に修正版を公開
Node.jsで10件の脆弱性が判明し、開発チームは26.x、24.x、22.x向けの修正版を公開しました。Brotli形式の圧縮データを展開する処理には、リモートからコードを実行されるおそれのある問題が含まれています。
10件のうち重要度が「高」とされたものは4件で、「中」は3件、「低」は3件です。最も高い「クリティカル」に分類された問題はありません。
修正版はNode.js 26.12.1、24.22.1、22.23.4です。Node.jsプロジェクトは、サポートが終了したバージョンも脆弱性の影響を受けるとして、サポート対象版への移行を案内しています。
Brotli展開処理の不備でコード実行のおそれ
「CVE-2026-111497」は、Brotliデコーダーで圧縮データを展開する際に、領域外へのメモリ書き込みが起きる脆弱性です。Node.js 26.x、24.x、22.xが影響を受け、リモートからコードを実行される可能性があります。
Node.jsでは、node:zlibモジュールがBrotliの圧縮と展開を扱います。ストリームを展開する場合は、入力をcreateBrotliDecompress()に通し、出力先へつなぐ方法があります。
HTTP通信では、応答のContent-Encodingがbrの場合に、受信したデータをcreateBrotliDecompress()へ渡して展開できます。ストリームはpipeline()で接続できます。
DNSとTLSの検証にも高重要度の問題
DNSの名前解決では、NUL文字を含む名前が途中で切り詰められる問題が見つかりました。「CVE-2026-105482」は26.x、24.x、22.xに影響します。
TLS証明書のホスト名検証を回避できる問題は2件あります。IPアドレスを全角数字で表記した場合に起きる「CVE-2026-105483」は26.xと24.xが対象で、ホスト名が緩やかな判定でIPアドレスとして解釈される「CVE-2026-106069」は3系列すべてに影響します。
Node.jsプロジェクトは、DNSの問題と2件のTLS検証問題をいずれも「高」と評価しています。これらの問題とBrotliデコーダーの脆弱性が、今回の高重要度4件に含まれます。
中・低重要度の脆弱性と関連更新
「中」の問題には、リクエスト送信前に書き込まれた応答をKeep-Aliveソケットが処理する問題、非標準形式のIPv4ホスト名に対する証明書検証の不備、起動スナップショットなどで乱数値が繰り返される問題があります。これらは26.x、24.x、22.xの各系列に影響します。
「低」の問題は3件です。26.xではZIPヘッダーの検証失敗後に攻撃者が指定した先頭バイトを返す問題と、権限モデルでワイルドカード検索によりファイル権限が過剰になる問題があり、fs.realpathSyncを使った権限モデルの回避は3系列すべてが対象です。
今回の更新ではNode.js本体に加え、依存コンポーネントも更新されました。対象はc-ares、証明書関連のca-cert、OpenSSL、SQLite、Undiciで、更新対象の系列はコンポーネントごとに異なります。










