Webアプリケーションのバックエンドとして広く普及している「Node.js」において、サーバーをクラッシュさせる危険な脆弱性が複数報告されました。本記事では、2026年3月24日にリリースされた最新のセキュリティアップデート(v20.20.2、v22.22.2等)の概要と、特に警戒すべきHTTPヘッダー「proto」に関連するDoS脆弱性(CVE-2026-21710)、および情報システム部門が直ちに行うべき対応策について詳しく解説します。
目次
セキュリティアップデート(2026年3月24日版)の概要
Node.jsプロジェクトは2026年3月24日(米国時間)、アクティブなリリースラインにおける全9件の脆弱性を修正したセキュリティアップデートを公開しました。
本リリースで修正された脆弱性の深刻度内訳は、「High(高)」が2件、「Medium(中)」が5件、「Low(低)」が2件となっています。できるだけ早い更新が望まれており、アップデートが提供された修正版のバージョンは以下の通りです。
-
Node.js 25.8.2 (Current)
-
Node.js 24.14.1 (LTS)
-
Node.js 22.22.2 (LTS)
-
Node.js 20.20.2 (LTS)
修正された主な深刻な脆弱性
今回のアップデートでは、外部からの攻撃によってNode.jsサーバーがクラッシュし、サービス提供が停止する(DoS:サービス拒否)リスクを持つ重大な脆弱性が複数報告されています。
CVE-2026-21710: ヘッダーによるサーバークラッシュ(DoS)
WebサーバーとしてNode.jsを稼働させている環境で特に警戒すべきなのが、リクエストヘッダー(req.headersDistinct)の処理における欠陥です。 攻撃者がHTTPリクエストのヘッダー名に「__proto__」を含めるなど特定の細工を行うことで、「Uncaught TypeError」を引き起こし、Node.jsのプロセスそのものをクラッシュさせることが可能です。プロパティの仕様を突いたこの深刻度「High」の脆弱性は、少数の不正なリクエストだけでサーバーをダウンさせられるため、極めて危険です。
CVE-2026-21637:TLSエラー処理の不備によるリモートDoS
以前の同名CVE(CVE-2026-21637)に対する修正が不完全だった問題が再修正されました。 _tls_wrap.js 内の loadSNI() 関数において、try/catch による適切なエラーハンドリングが欠如している問題です。予期しない servername 入力が提供された際に例外がスローされ、プロセスがクラッシュする恐れがあります。TLSサーバー(HTTPS等)を公開している環境が影響を受けます。
その他の影響度の高い脆弱性(Medium)
上記の他にも、以下の脆弱性などが修正されています。
-
CVE-2026-21711(権限モデルのバイパス):
--allow-netの起動オプションを指定していなくても、Unixドメインソケット(UDS)のバインドやリッスンが機能してしまうパーミッションモデルのバイパス問題。 -
CVE-2026-21714(メモリリーク): HTTP/2サーバーにおいて、ストリーム0で不正な WINDOW_UPDATE を受信するとリソース枯渇(メモリリーク)に陥る問題。
-
CVE-2026-21712(アサーションエラー):
url.format()処理において、不正な形式のURL(無効な文字を含むIDNなど)によってアサーションエラーが発生し、クラッシュに至る問題。








