简介
远程 Amazon Linux 2023 主机缺少安全更新。
描述
因此,该软件受到 ALAS2023-2026-1920 公告中提及的多个漏洞影响。
undici 解析 Set-Cookie 标头时,会接受包含 Strict、Lax 或 None 作为子字符串的任何 SameSite 属性值,而不是 RFC 6265 指定的不区分大小写的完全匹配。非规范值静默映射到三种标准标记之一:
SameSite=NoneOfYourBusiness 被解析为 None,这是最宽松的设置。SameSite=StrictLax 被解析为 Lax,这是从 Strict.Strict 降级的应用程序。受影响的应用程序是那些消耗来自服务器响应的 Set-Cookie 标头(例如通过 undici 的提取或代理代码路径),然后转发或依赖解析的 sameSite 属性的应用程序。恶意或不合规的服务器可将使用者对 cookie 的 SameSite 策略的视图强制转换为较弱的值,从而静默地降级 cookie 应提供的 SameSite 强制执行。
这在添加 cookie 功能时在 undici 5.15.0 中引入。(CVE-2026-11525)
低于 3.53.2 的 SQLite 在其 FTS5 全文检索扩展有内存损坏漏洞,允许攻击者通过提供具有畸形 FTS5 页面数据的构建数据库,造成进程崩溃、内存耗尽或任意代码执行。攻击者可通过攻击者控制的循环边界触发 fts5LeafSeek() 函数中的越界读取,或通过特制的续页引发整数下溢,进而导致 fts5ChunkIterate() 函数发生堆缓冲区溢出写入。当对恶意数据库执行 FTS5 MATCH 查询时,该漏洞即可被利用。(CVE-2026-11822)
低于 3.53.2 的 SQLite 在其 FTS5 全文检索扩展有内存损坏漏洞,允许攻击者通过提供具有畸形 FTS5 页面数据的构建数据库,造成进程崩溃、内存耗尽或任意代码执行。攻击者可触发 fts5ChunkIterate() 函数中的整数下溢,导致在处理 FTS5 MATCH 查询时,程序计算出的剩余字节数被异常夸大。这将引发堆缓冲区溢出,使攻击者可控的数据被写入内存。该漏洞存在于启用了 SQLITE_ENABLE_FTS5 宏编译的应用程序中。(CVE-2026-11824)
undici WebSocket 客户端对消息中片段的累积字节计数强制执行 maxPayloadSize,但未对片段数量强制实施限制。恶意 WebSocket 服务器可以流式传输许多小的或空的连续帧,每个帧都通过每一帧和累积大小验证,共同导致客户端进程中内存无限增长。其结果是内存耗尽和拒绝服务。
受影响的应用程序是那些使用 undici WebSocket 客户端(新 WebSocket(...))或 WebSocketStream API 的应用程序,可被引诱连接到受攻击者控制或受到破坏的 WebSocket 端点。
以 undici 6.17.0 开始的所有版本均受到影响。(CVE-2026-12151)
- Node.js代理隧道错误处理中的缺陷可在 ERR_PROXY_TUNNEL错误消息中暴露代理凭据。
当代理 URL 中嵌入代理凭据时,它们可能会通过错误处理路径暴露出来,并由日志、诊断或其他错误使用者捕获。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48615)
Node.js Permission Model 强制执行中的缺陷允许通过“process.report.writeReport()”路径误验证绕过。这可导致机密性影响或在受影响的配置中绕过预期安全边界。此漏洞影响所有受支持的版本系列:**Node.js 22**、**Node.js 24** 和 **Node.js 26**。(CVE-2026-48617)
- Node.js TLS 主机名处理中的缺陷可造成 Unicode 点分隔符处理 Node.js 从而导致 TLS 通配符深度认证绕过,原因是解析器和校验器主机名规范化不匹配。
这可导致机密性影响或在受影响的配置中绕过预期安全边界。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48618)
HTTP/2 客户端 Node.js 缺陷允许服务器发送无限数量的 ORIGIN 帧,这可在客户端上导致内存不足错误。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48619)
主机名匹配 Node.js 不一致可造成多上下文 mTLS 设置中的信任策略绕过。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48928)
Node.js TLS 主机名处理中的缺陷可造成以下情况:Embedded-nul 主机名可导致静默颁发机构重新绑定,原因是解析器绑定中的 c 字符串截断。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48930)
HTTP 代理 Node.js 缺陷可导致客户端将发送请求前发送的响应视为有效。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48931)
如果 subtle.encrypt() 的输入为 2GiB 的倍数 Node.js 则 WebCrypto 实现中的缺陷可导致进程崩溃。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48933)
Node.js TLS 主机验证中的缺陷可导致攻击者绕过证书验证。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48934)
Node.js 权限 API 中存在一个缺陷,允许修改文件的元数据,即使该文件所在路径已被设置为只读,例如 --allow-fs-read。
此漏洞影响所有受支持的版本系列:Node.js 22、Node.js 24 和 Node.js 26。
(CVE-2026-48935)
HTTP/2 服务器 API Node.js缺陷可造成服务器在发送“GOAWAY”帧之后仍继续接受数据。此漏洞影响两个受支持的版本系列:**Node.js 22** 和 **Node.js 24**。
(CVE-2026-48937)
Undici 的 HTTP/1.1 客户端容易在重用的保持活动套接字上出现响应队列毒化。请求完成后,攻击者控制的上游服务器可主动将 HTTP/1.1 响应注入到闲置的套接字。客户端在该套接字上调度下一个请求时,会将注入的响应与新请求相关联,从而导致将响应发送给错误的请求。
这需要攻击者控制或遭到入侵的上游 HTTP/1.1 服务器,以及保持活动状态的连接重用。(CVE-2026-6733)
使用 Socks5ProxyAgent 时,undici 跨不同源重复使用单个连接池,而不验证池的源是否匹配请求的源。所有请求都通过连接到第一个源的池进行调度,无论预期目的地是什么。
这会造成跨源请求路由:原本预期用于源 B 的凭据和请求数据会发送到源 A,来自错误源的响应会受到信任,并且 HTTPS 请求可能会静默降级为 HTTP。
受影响的用户是指使用 Socks5ProxyAgent(直接或通过 setGlobalDispatcher)并向多个源发出请求的应用程序。
此漏洞在 undici 7.23.0 版本中经由 #4385 引入,影响范围覆盖 8.1.0 及之前的所有版本。(CVE-2026-6734)
上游缓存控制标头使用填充的限定私有或无缓存字段名称(例如 private= authorization 或 no-cache=\tauthorization)时,Undici 的缓存拦截器会错误地将某些响应分类为可缓存。解析器会保留周围的空白,因此以后与文字授权字段名称的比较失败,并且会存储响应。
在共享缓存模式下,当两个请求解析为同一缓存密钥时,这允许将包含一个用户的认证数据的响应从缓存提供给后续调用程序(包括未经认证的调用程序)。
受影响的应用程序是在共享模式下明确启用缓存拦截器 (interceptors.cache())、向上游转发授权标头并接收具有非规范限定私有或无缓存指令的可缓存响应的应用程序。(CVE-2026-9678)
parseSetCookie 中 undici 的 cookie 解析器通过 qsUnescape 对 cookie 值进行百分比解码,将 %0D%0A、%00、%3B 和 %3D 等编码序列转换为其文字字节等价物。RFC 6265 SS5.4 未指定任何解码,浏览器也不会解码。
解析 Set-Cookie 标头然后将解析后的值转发到响应标头(代理、中间件、SSR 框架)的应用程序容易受到 HTTP 响应头注入攻击:攻击者控制的上游可将任意 Set-Cookie、Location 或 Cache-Control 标头注入应用程序的下游响应,从而实现会话固定、开放重定向或缓存中毒。
使用 undici 的 cookie 解析(parseSetCookie、parseCookie、getSetCookies)并将解析的 cookie 值转发到响应头的应用程序受到影响。
这在 undici 7.0.0 (CVE-2026-9679) 中引入
当使用 SOCKS5 代理 URI(socks5:// 或 socks://)配置时,undici 的 ProxyAgent 会静默地终止 requestTls 选项。通过 SOCKS5 隧道的目标 HTTPS 连接会回退到 Node 的默认信任存储,忽略用户配置的 ca、cert、key、rejectUnauthorized 和 servername 设置。
当代理 URI 为 SOCKS5 时,通过 requestTls.ca 固定到内部或公司 CA 的应用程序将改为获取默认的 Mozilla CA 捆绑包作为信任锚。任何公开信任的 CA 为目标主机名签署的任何证书都会被接受,这样会破坏预期 pin 并启用 MITM 读取和篡改 HTTPS 交换。
受影响的应用程序是那些搭配 SOCKS5 使用 undici 的 ProxyAgent(或直接 Socks5ProxyAgent),以及依赖 requestTls 进行 TLS 范围限制的应用程序。添加 SOCKS5 支持时,undici 7.23.0 中引入了此缺陷。(CVE-2026-9697)
Tenable 已直接从测试产品的安全公告中提取上述描述块。
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“dnf update nodejs24 --releasever 2023.12.20260706”或“dnf update --advisory ALAS2023-2026-1920 --releasever 2023.12.20260706”以更新系统。
插件详情
文件名: al2023_ALAS2023-2026-1920.nasl
代理: unix
支持的传感器: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
风险信息
矢量: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C
矢量: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
时间矢量: CVSS:3.0/E:P/RL:O/RC:C
Threat Vector: CVSS:4.0/E:P
Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
漏洞信息
CPE: p-cpe:/a:amazon:linux:v8-13.6-devel, p-cpe:/a:amazon:linux:nodejs24-debugsource, p-cpe:/a:amazon:linux:nodejs24-debuginfo, p-cpe:/a:amazon:linux:nodejs24-full-i18n, p-cpe:/a:amazon:linux:nodejs24-npm, p-cpe:/a:amazon:linux:nodejs24-libs-debuginfo, p-cpe:/a:amazon:linux:nodejs24-docs, p-cpe:/a:amazon:linux:nodejs24-devel, p-cpe:/a:amazon:linux:nodejs24-libs, p-cpe:/a:amazon:linux:nodejs24, cpe:/o:amazon:linux:2023
必需的 KB 项: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
易利用性: Exploits are available
参考资料信息
CVE: CVE-2026-11525, CVE-2026-11822, CVE-2026-11824, CVE-2026-12151, CVE-2026-48615, CVE-2026-48617, CVE-2026-48618, CVE-2026-48619, CVE-2026-48928, CVE-2026-48930, CVE-2026-48931, CVE-2026-48933, CVE-2026-48934, CVE-2026-48935, CVE-2026-48937, CVE-2026-6733, CVE-2026-6734, CVE-2026-9678, CVE-2026-9679, CVE-2026-9697