Node.js 20.x < 20.20.2 多个漏洞(2026 年 3 月 24 日星期二安全版本)。

high Nessus 插件 ID 303494

简介

Node.js - JavaScript 运行环境受到多个漏洞的影响。

描述

远程主机上安装的 Node.js 版本低于 20.20.2。因此,它受到 2026 年 3 月 24 日星期二安全版本公告中提及的多个漏洞影响。

- Node.js TLS 错误处理中存在一个缺陷,远程攻击者可利用此缺陷,在使用 `pskCallback` 或 `ALPNCallback` 期间造成 TLS 服务器崩溃或耗尽其资源。在执行这类回调期间抛出的同步异常可绕过标准 TLS 错误处理路径(tlsClientError 和 error),导致进程立即终止或静默文件描述符泄漏,最终造成拒绝服务。这类回调会在 TLS 握手期间处理攻击者控制的输入,因此远程客户端可重复触发此问题。此漏洞会影响多个 Node.js 版本中使用 PSK 或 ALPN 回调的 TLS 服务器,而这些回调会在未被安全封装的情况下在该等服务器中抛出。(CVE-2026-21637)

- 已在 Node.js 中发现一个漏洞,使用 --allow-fs-write 标记时,此漏洞会影响使用实验性权限模型的用户。Node.js 权限模型不会对文件描述符进行任何操作,但 fs.fchown 或 fs.fchmod 等操作可使用只读文件描述符来更改文件的所有者和权限。(CVE-2024-36137)

- 如果收到的请求包含名为 __proto__ 的标头,且应用程序可以访问 req.headersDistinct,则 Node.js HTTP 请求处理中的缺陷会导致未捕获的 TypeError。发生这种情况时,dest[__proto__] 会解析为 Object.prototype,而非 undefined,从而导致在非数组中调用 .push()。此异常会在属性 getter 内同步抛出,并且无法被错误事件监听程序拦截,即若未将每个 req.headersDistinct 访问封装在 try/catch 中,便无法处理此异常。感谢 yushengchen 报告此漏洞,同时感谢 mcollina 修复此漏洞。(CVE-2026-21710)

- Node.js 权限模型网络强制执行中存在一个缺陷,可导致 Unix 域套接字 (UDS) 服务器操作无法执行所需的权限检查,而所有类似的网络路径都能正确执行这些检查。因此,在未启用 --allow-net 时以 --permission 权限运行的代码可创建并暴露本地 IPC 端点,从而允许在预期网络限制边界之外与同一主机上的其他进程进行通信。感谢 xavlimsg 报告此漏洞,同时感谢 RafaelGSS 修复此漏洞。
(CVE-2026-21711)

- Node.js URL 处理中存在一个缺陷,可在使用包含无效字符的畸形国际化域名 (IDN) 调用 url.format() 时造成本机代码发生断言失败,进而造成 Node.js 进程崩溃。感谢 wooffie 报告此漏洞,同时感谢 RafaelGSS 修复此漏洞。
(CVE-2026-21712)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

升级到 Node.js 20.20.2 或更高版本。

另见

http://www.nessus.org/u?4d3e9120

插件详情

严重性: High

ID: 303494

文件名: nodejs_2026_mar_24.nasl

版本: 1.2

类型: Local

代理: windows, macosx, unix

系列: Misc.

发布时间: 2026/3/24

最近更新时间: 2026/4/1

配置: 启用全面检查 (optional)

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 4.9

CVSS v2

风险因素: High

基本分数: 7.8

时间分数: 6.1

矢量: CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C

CVSS 分数来源: CVE-2026-21637

CVSS v3

风险因素: High

基本分数: 7.5

时间分数: 6.7

矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

时间矢量: CVSS:3.0/E:P/RL:O/RC:C

漏洞信息

CPE: cpe:/a:nodejs:node.js

必需的 KB 项: installed_sw/Node.js

可利用: true

易利用性: Exploits are available

补丁发布日期: 2026/3/24

漏洞发布日期: 2024/7/8

参考资料信息

CVE: CVE-2024-36137, CVE-2026-21637, CVE-2026-21710, CVE-2026-21711, CVE-2026-21712, CVE-2026-21713, CVE-2026-21714, CVE-2026-21715, CVE-2026-21717

IAVB: 2024-B-0083-S, 2026-B-0013