Node.jsがセキュリティアップデートを公開——12件の脆弱性を修正、うち2件は深刻度「高」

Node.jsは、サポート対象の各リリースラインに存在する12件の脆弱性に対処する重要なセキュリティアップデートを発表しました。このうち2件は深刻度「高」と評価されており、サービス拒否(DoS)状態の引き起こしや認証バイパスにつながる可能性があります。

これらのアップデートは2026年6月18日にリリースされ、Node.js バージョン22.x、24.x、26.xに影響します。修正済みバージョンはv22.23.0、v24.17.0、v26.3.1として提供されています。

Node.jsセキュリティアップデートの詳細

最も深刻な脆弱性はCVE-2026-48933として追跡されており、WebCrypto APIに影響します。subtle.encrypt()関数に細工された入力を渡すことでプロセスクラッシュが引き起こされる可能性があります。

具体的には、2GiBの倍数となる入力によって整数オーバーフローが発生し、リモートからのDoS状態を招く恐れがあります。この問題は、信頼できない環境で暗号化処理を多用するアプリケーションにとって特に注意が必要です。

もう1件の深刻度「高」の脆弱性CVE-2026-48618は、TLSホスト名検証に影響します。Unicodeのドット区切り文字の処理が不適切なため、ホスト名解決と証明書検証の間に不一致が生じ、特定の構成においてTLSワイルドカード認証をバイパスできる可能性があります。これにより、不正アクセスやデータの機密性が損なわれるリスクがあります。

深刻度「高」の問題に加え、HTTP/2・TLS・プロキシ処理メカニズムに影響する複数の「中」程度の脆弱性も確認されています。特にCVE-2026-48619は、攻撃者がHTTP/2クライアントに過剰なORIGINフレームを送信することで、際限なくメモリを消費させ、サービス停止を引き起こせる可能性があります。

また、CVE-2026-48934では、異なるサーバ名でのセッション再利用によりTLSホスト同一性検証がバイパスされる可能性があり、安全な通信へのリスクとなっています。

さらに、CVE-2026-48615はプロキシトンネリング使用時のエラーメッセージからプロキシ認証情報が漏洩する問題です。プロキシURLに認証情報が埋め込まれている場合、ログや診断出力を通じて漏洩する可能性があり、エンタープライズ環境における認証情報の漏洩リスクを高めます。

低深刻度の脆弱性は主にNode.jsのパーミッションモデルと内部APIに影響します。CVE-2026-48617およびCVE-2026-48935は特定条件下でファイルシステムの制限を回避できる問題であり、CVE-2026-48936はパーミッションフラグが設定されているにもかかわらずUnixドメインソケット経由でローカルネットワークへの不正アクセスを許してしまう問題です。低深刻度に分類されているものの、連鎖的な攻撃に悪用される可能性があります。

今回のリリースには、http.Agent実装における競合状態(TOCTOU)に起因するHTTPレスポンスキューポイズニング(CVE-2026-48931)の修正も含まれています。また、HTTP/2サーバで接続終了シグナルの後もデータ処理が継続される問題(CVE-2026-48937)——不適切なセッションクリーンアップが原因——についても修正が施されています。

CVE ID タイトル/概要 深刻度 影響を受けるリリースライン
CVE-2026-48933 WebCrypto AESの整数オーバーフローによるリモートプロセス中断(DoS) Node.js 22、24、26 
CVE-2026-48618 Unicodeドット区切り文字の処理によるTLSワイルドカード深度認証バイパス Node.js 22、24、26 
CVE-2026-48615 ERR_PROXY_TUNNELエラーメッセージからのプロキシ認証情報漏洩 Node.js 22、24、26 
CVE-2026-48617 process.report.writeReport()のパス検証不備によるパーミッションモデルバイパス Node.js 22、24、26 
CVE-2026-48619 攻撃者制御のORIGINフレームによるnode:http2クライアントの際限ないメモリ増大 Node.js 22、24、26 
CVE-2026-48937 無効プロトコルエラー時のGOAWAY後もHTTP/2セッションがクリーンアップされない問題 Node.js 22、24 
CVE-2026-48928 大文字SNIコンテキストマッチングによる大文字小文字を区別するホスト名照合でmTLS認可がバイパスされる可能性 Node.js 22、24、26 
CVE-2026-48930 リゾルババインディングのCstring切り捨てによりNUL文字埋め込みホスト名が無音のオーソリティリバインドを引き起こす問題 Node.js 22、24、26 
CVE-2026-48934 異なるサーバ名でのセッション再利用によるTLSホスト同一性検証バイパス Node.js 22、24、26 
CVE-2026-48935 promises APIのFileHandle.utimes()経由によるパーミッションモデルバイパス Node.js 22、24、26 
CVE-2026-48936 Unixドメインソケットサーバが--permissionのネットワーク制限をバイパス(CVE-2026-21636の修正が不完全) Node.js 26のみ 
CVE-2026-48931 http.AgentにおけるTOCTOU競合状態によるHTTPレスポンスキューポイズニング Node.js 22、24、26 

脆弱性修正に加え、Node.jsはllhttp(9.4.2)、nghttp2(1.69.0)、OpenSSL(3.5.7)、undiciなど複数のコア依存ライブラリをサポート対象バージョン全体で更新しました。これらの更新により、アップストリームの追加的なセキュリティ上の懸念に対処するとともに、ランタイム全体の安定性が向上しています。

セキュリティ専門家は、サポート対象のすべてのリリースラインが影響を受けることから、修正済みバージョンへの早急なアップグレードを強く推奨しています。サポート終了(EOL)バージョンのNode.jsを使用している組織はセキュリティパッチが提供されないため、リスクが一層高い状態に置かれています。

翻訳元: https://gbhackers.com/node-js-releases-security-updates-for-12-vulnerabilities/

ソース: gbhackers.com