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 ID | Severity | Vulnerability | Affected versions |
|---|---|---|---|
| CVE-2026-105482 | High | DNS name truncation | 26.x, 24.x, 22.x |
| CVE-2026-105483 | High | TLS hostname verification bypass | 26.x, 24.x |
| CVE-2026-106069 | High | TLS hostname verification bypass | 26.x, 24.x, 22.x |
| CVE-2026-111497 | High | Brotli decoder RCE | 26.x, 24.x, 22.x |
| CVE-2026-105481 | Medium | HTTP request-response ordering flaw | 26.x, 24.x, 22.x |
| CVE-2026-106072 | Medium | Improper TLS certificate hostname validation | 26.x, 24.x, 22.x |
| CVE-2026-106074 | Medium | Repeated cryptographic random values | 26.x, 24.x, 22.x |
| CVE-2026-106070 | Low | ZIP validation failure exposes untrusted data | 26.x |
| CVE-2026-106071 | Low | Permission Model filesystem access bypass | 26.x |
| CVE-2026-106073 | Low | fs.realpathSync permission bypass | 26.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 プロジェクトは、セキュリティ・アップデートが公開された後も、サポート終了済みのブランチでは脆弱性が残ると警告している。そのため、サポート対象のブランチへの移行も、脆弱性対応の重要な一環となる。
この記事は、JavaScript 実行環境である Node.js における、複数の脆弱性と修正版の公開について解説するものです。伸長処理の領域超過や各種認証における名前検証の欠陥が背景に存在します。影響として、システム制御権の奪取/通信相手の不当偽装/ファイルシステム権限の回避が生じる恐れがあります。対応策として、各主流系列の安全な版への更新/コンテナの再構築/各種通信や圧縮処理の動作点検が求められます。
You must be logged in to post a comment.