Node.js の 10件の脆弱性が FIX:TLS/ DNS/Brotli などの深刻な問題に対応

Node.js Releases Security Updates to Fix High-Severity TLS, DNS and Brotli Vulnerabilities

2026/10/21 CyberSecurityNews — Node.js が公開したのは、DNS の名前解決/TLS 証明書の検証/Brotli の解凍に影響する深刻度 High の 4 件の脆弱性を含む、計 10 件の脆弱性に対処する 26.x/24.x/22.x の各ブランチ向けのセキュリティ・アップデートである。提供されたリリース情報によると、最も深刻な潜在的影響は Brotli デコーダを介したリモート・コード実行 (RCE) であり、修正済みバージョンは 26.12.1/24.22.1/22.23.4 である。

今回の 10 月のセキュリティ・アップデートでは、HTTP 接続の処理/暗号学的乱数値の重複/ZIP ファイルの処理/ファイルシステムのアクセス権限チェックに関する問題も対処されている。Node.js は 2026年10月21日にリリースを予定しており、サポート対象の 3 つのブランチにおいて、最高の深刻度を High と評価している。


脆弱性 CVE-2026-111497 は、3 つのリリース系列の Brotli デコーダに影響する。提供されたアドバイザリでは、リモートコード実行を可能にする境界外書き込みの脆弱性として説明されている。

それが意味するのは、本来のメモリ領域の外部に、このデコーダがデータを書き込む可能性があることだ。信頼できない Brotli 圧縮コンテンツを処理するアプリケーションは、パッチ適用計画において特に注意が必要となる。ただし、提供された通知では、悪用が成立するための具体的な条件は説明されていない。


重大度 High の脆弱性のうちの 2 件は、TLS 証明書のホスト名検証に関係する。2件目の脆弱性 CVE-2026-105483 は、IP アドレスに全角数字が使用されている場合に、ホスト名検証のバイパスを許す欠陥であり、Node.js 26.x/24.x に影響する。

3件目の脆弱性 CVE-2026-106069 は、IP アドレスとして解釈されるホスト名に関する欠陥であり、3 つのブランチに影響する。つまり、いずれの脆弱性も、接続先のホスト名と証明書の一致に関する検証に関係している。


4 件目の脆弱性 CVE-2026-105482 (High) は、NUL 文字を含む名前を、”dns.resolve” が途中で切り詰めてしまう欠陥である。この脆弱性も、3 つのリリース系列に影響する。DNS ルックアップの実行において、一貫した名前の処理が行われることを前提とするアプリケーションでは、セキュリティ上の問題につながる可能性がある。

これらの修正は、以前に公開された Node.js の TLS 認証バイパスに関するパッチに続くものである。以前の修正でも、ホスト名の処理と証明書の検証における不一致が問題となっていた。


今回のアップデートには、深刻度 Medium 脆弱性 3 件も含まれている。脆弱性 CVE-2026-105481 は、キープアライブ接続のソケットにおいて、リクエストが送信される前に書き込まれたレスポンスを処理してしまう欠陥である。

脆弱性 CVE-2026-106072 は、標準的ではない IPv4 ホスト名に対する、不適切な証明書検証に起因する。この脆弱性の悪用により、DNS 名を含む証明書を介した IP アドレスの接続先を認証できてしまう。

CVE IDSeverityVulnerabilityAffected versions
CVE-2026-105482HighDNS name truncation26.x, 24.x, 22.x
CVE-2026-105483HighTLS hostname verification bypass26.x, 24.x
CVE-2026-106069HighTLS hostname verification bypass26.x, 24.x, 22.x
CVE-2026-111497HighBrotli decoder RCE26.x, 24.x, 22.x
CVE-2026-105481MediumHTTP request-response ordering flaw26.x, 24.x, 22.x
CVE-2026-106072MediumImproper TLS certificate hostname validation26.x, 24.x, 22.x
CVE-2026-106074MediumRepeated cryptographic random values26.x, 24.x, 22.x
CVE-2026-106070LowZIP validation failure exposes untrusted data26.x
CVE-2026-106071LowPermission Model filesystem access bypass26.x
CVE-2026-106073Lowfs.realpathSync permission bypass26.x, 24.x, 22.x

脆弱性 CVE-2026-106074 は、起動時のスナップショットや単一実行可能アプリケーションに保存された、キャッシュ済みの乱数データに影響を及ぼす欠陥である。この生成プロセスでは、”crypto.randomUUID()” や “crypto.randomInt()” が返す値が重複する可能性がある。深刻度 Medium の脆弱性 3件は、いずれも 26.x/24.x/22.x ブランチに影響する。

残る 3 件は深刻度 Low と評価されている。脆弱性 CVE-2026-106070 は、ZIP ヘッダーの検証に失敗した後に、攻撃者が制御するバイト列が返される欠陥である。脆弱性 CVE-2026-106071 は、ワイルドカードの照合により、本来の範囲を超えたファイル・システムへのアクセスが可能になる問題である。いずれも 26.x に影響する。

CVE-2026-106073 は、”fs.realpathSync” を介して Permission Model のアクセス権限チェックをバイパスできる脆弱性であり、3 つのブランチに影響する。以前に報告された Node.js の Permission Model に関する脆弱性でも、ファイル・システムへのアクセス制限に不備があることが明らかになっていた。

リリース情報には、c-ares/CA 証明書/Undici/OpenSSL/SQLite に対する更新も記載されている。ただし、更新の対象となるブランチはコンポーネントによって異なる。

管理者にとって必要なことは、使用中のブランチに対応する修正済みバージョンを適用し、必要に応じてアプリケーションのコンテナ・イメージなどを再構築した上で、影響を受けるサービスを再起動することである。動作検証では、外部への HTTPS 接続/DNS 処理/圧縮コンテンツの処理/アクセス権限を制限したワークロードを確認すべきである。

セキュリティチームに求められるのは、Node.js の公式セキュリティ発表を確認し、サポートが終了したバージョンの使用を避けることである。Node.js プロジェクトは、セキュリティ・アップデートが公開された後も、サポート終了済みのブランチでは脆弱性が残ると警告している。そのため、サポート対象のブランチへの移行も、脆弱性対応の重要な一環となる。