Node.js 14.x < 14.21.1 / 16.x < 16.18.1 / 18.x < 18.12.1 / 19.x < 19.0.1 多个漏洞(2022 年 11 月 3 日安全版本)。

high Nessus 插件 ID 167024

简介

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

描述

远程主机上安装的 Node.js 版本低于 14.21.1、16.18.1、18.12.1、19.0.1。因此,它受到 2022 年 11 月 3 日安全版本公告中提及的多个漏洞的影响。

- 缓冲区溢出可在 X.509 证书验证中触发,在名称限制检查中更是如此。请注意,这会在证书链签名验证之后发生,并且需要 CA 签署恶意证书,或者要求应用程序在未能构建到受信任颁发者的路径的情况下继续证书验证。攻击者可以构建恶意电子邮件地址,使堆栈上四个由攻击者控制的字节溢出。此缓冲区溢出可能会导致崩溃(造成拒绝服务)或远程代码执行。影响:(CVE-2022-3602)

- 缓冲区溢出可在 X.509 证书验证中触发,在名称限制检查中更是如此。请注意,这会在证书链签名验证之后发生,并且需要 CA 签署恶意证书,或者要求应用程序在未能构建到受信任颁发者的路径的情况下继续证书验证。攻击者可特制证书中的恶意电子邮件地址,在堆栈上溢出包含“.”字符(十进制 46)的任意数量的字节。
此缓冲区溢出可能会导致崩溃(造成拒绝服务)。在 TLS 客户端中,这可通过连接到恶意服务器来触发。在 TLS 服务器中,如果服务器请求客户端认证并连接了恶意客户端,就会触发此问题。OpenSSL 3.0.0 至 3.0.6 容易受此问题影响。影响:(CVE-2022-3786)

- --inspect 的 Node.js 重新绑定保护程序仍然允许无效的 IP 地址,尤其是八进制格式。八进制 IP 地址的一个示例是 1.09.0.0,由于 9 不是以 8 为底数的数字系统中的数字,因此 09 八进制数无效。Firefox(已在最新版本 m105 上测试)等浏览器仍会尝试通过 DNS 解析此无效的八进制地址。当与活动 --inspect 会话结合使用(例如使用 VSCode)时,攻击者可执行 DNS 重新绑定并执行任意代码。感谢 @haxatron1 报告此漏洞。影响:(CVE-2022-43548)

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

解决方案

升级到 Node.js 版本 14.21.1 / 16.18.1 / 18.12.1 / 19.0.1 或更高版本。

另见

http://www.nessus.org/u?01a243d6

插件详情

严重性: High

ID: 167024

文件名: nodejs_2022_nov.nasl

版本: 1.10

类型: local

代理: windows, macosx, unix

系列: Misc.

发布时间: 2022/11/5

最近更新时间: 2024/1/9

配置: 启用全面检查

支持的传感器: Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 5.9

CVSS v2

风险因素: High

基本分数: 7.6

时间分数: 5.6

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

CVSS 分数来源: CVE-2022-43548

CVSS v3

风险因素: High

基本分数: 8.1

时间分数: 7.1

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

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

漏洞信息

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

必需的 KB 项: installed_sw/Node.js

易利用性: No known exploits are available

补丁发布日期: 2022/11/1

漏洞发布日期: 2022/10/27

参考资料信息

CVE: CVE-2022-3602, CVE-2022-3786, CVE-2022-43548

IAVB: 2022-B-0047-S