Node.jsプロジェクトは2026年10月21日、26.x、24.x、22.xの各リリースラインに存在する10件の脆弱性に対処したセキュリティアップデートを公開しました。
修正の対象は、リモートコード実行、TLS証明書検証のバイパス、DNS処理、暗号論的乱数、ファイルシステムの権限に関する弱点など多岐にわたります。
修正版はNode.js 26.12.1、24.22.1、22.23.4です。10件のうち4件の深刻度は「高」、3件は「中」、3件は「低」と評価されています。
最も影響が大きいのは、CVE-2026-111497です。Node.jsのBrotliデコーダーに境界外書き込みの問題があり、リモートコード実行につながる恐れがあります。
今回のアップデートに含まれる、サポート中の3つのリリースラインすべてが影響を受けます。この脆弱性を報告したのは、アドバイザリーでmcollinaとして記載されているMatteo Collina氏です。修正はコントリビューターのaduh95氏が実装しました。
アドバイザリーはメモリ破損の状態を特定していますが、悪用の前提条件、ペイロードの要件、影響を受けるアプリケーションの構成については詳しく説明していません。
そのため、今回の開示で確認できたのはRCEのリスクがあることにとどまります。影響を受けるバージョンのNode.jsを使うすべてのアプリケーションが、リモートから悪用可能であると示されたわけではありません。
深刻度「高」の2件は、TLS証明書のホスト名検証を損なうものです。CVE-2026-105483は、IPアドレスに全角数字が使われている場合にホスト名検証をバイパスできる脆弱性で、Node.js 26.xと24.xに影響します。
CVE-2026-106069は、緩い解釈でIPアドレスに解決されるホストに関する問題で、3つのリリースラインすべてに影響します。関連する深刻度「中」のCVE-2026-106072では、非正規形のIPv4ホスト名が適切に検証されないと、DNSのSubject Alternative Name(SAN)でIPエンドポイントを認証できてしまいます。
これらの脆弱性からは、影響を受けるバージョンが証明書チェック時にホストの表記をどう扱うかについて、複数の不整合があることがわかります。
このほか、CVE-2026-105482は、NUL文字を含む名前をdns.resolveが切り詰めてしまう問題です。深刻度は「高」で、Node.js 26.x、24.x、22.xが影響を受けます。
DNSの切り詰め問題と全角数字によるTLSバイパスの両方を報告したのはhasanfleyah氏で、修正はjasnell氏が担当しました。CVE-2026-106074は、crypto.randomUUID()とrandomInt()のエントロピーキャッシュが、ユーザーランドのスタートアップスナップショットや単一実行可能アプリケーションの内部に残ってしまう問題に対処するものです。
これらの成果物を使うプロセスでは、同じ値が繰り返し生成される可能性があります。深刻度「中」のもう1件、CVE-2026-105481では、keep-aliveソケットが、対応するリクエストの送信前に書き込まれたレスポンスを処理できてしまいます。どちらも3つのブランチすべてに影響します。
深刻度「低」の修正は3件です。ZIPヘッダーの検証に失敗した後、攻撃者が制御できるプレフィックスバイトが返される問題、ワイルドカードのradixルックアップによってファイルシステムの権限が過剰になる問題、fs.realpathSyncに関するPermission Modelのバイパスです。前の2件はNode.js 26.xのみ、3件目は3つのブランチすべてに影響します。
今回のリリースでは、3つのブランチすべてでc-ares、Undici、CA証明書も更新されました。CA証明書の更新には、eMudhra Intermediate CAの侵害に対処する変更も含まれます。OpenSSLの更新は24.xと22.xに、SQLiteの変更は22.xに適用されます。
プロジェクトが示す当面の対処法は、影響を受けるインストール環境を、対応する修正版へアップグレードすることです。アドバイザリーはまた、サポート終了(EOL)を迎えたブランチではなく、最新バージョンを利用するよう促しています。EOLブランチは、ここで説明されているセキュリティリリースの対象外です。
16,000以上のSOCチームがANY.RUNを導入し、脅威調査を効率化して手作業を削減しています。チームでの利用を検討する
翻訳元: https://cyberpress.org/node-js-patches-high-severity-rce-tls-certificate/