简介
远程 Amazon Linux 2023 主机缺少安全更新。
描述
因此,该软件受到 ALAS2023-2026-1526 公告中提及的多个漏洞影响。
如能以数组形式提供且名称区分大小写(例如 Content-Length 和 content-length),则 Undici 允许使用重复的 HTTP Content-Length 标头。这会导致 HTTP/1.1 请求的格式存在错误,并且网络上存在多个冲突的 Content-Length 值。
受影响对象:
* 使用 undici.request()、undici.Client 或类似低级 API,并将标头作为扁平数组传递的应用程序 * 接受由用户控制的标头名称而未将大小写规范化的应用程序
潜在后果:
严格的 HTTP 解析器(代理、服务器)将拒绝包含重复 Content-Length 标头的请求 (400 Bad Request)* HTTP 请求走私:在中间和后端以不一致的方式解释重复标头的部署环境中(例如,一个取第一个值,另一个则取最后一个值),这可导致请求走私攻击,从而导致 ACL 绕过、缓存中毒或凭据劫持 (CVE-2026-1525)
undici WebSocket 客户端在进行 permessage-deflate 解压时,因内存消耗无限制,存在遭受拒绝服务攻击的风险。当 WebSocket 连接协商 permessage-deflate 扩展时,客户端对传入的压缩帧进行解压缩,而不对解压缩的数据大小施加任何限制。恶意 WebSocket 服务器可发送一个小的压缩帧(解压缩炸弹),它会扩展到极大的内存大小,从而导致 Node.js 进程耗尽可用内存并崩溃或者不响应。
此漏洞存在于 PerMessageDeflate.decompress() 方法中,该漏洞会累积内存中所有解压缩的区块并将其连接成单一缓冲区,而不会检查总大小是否超过安全阈值。(CVE-2026-1526)
影响当应用程序将用户控制的输入传递至 client.request() 的升级选项时,攻击者可将 CRLF 序列 (\r\n) 注入至:
*注入任意 HTTP 头部* 提前终止 HTTP 请求,并将原始数据注入非 HTTP 服务(Redis、Memcached、Elasticsearch)该漏洞的存在是因为 undici 在未对无效头部字符进行验证的情况下,直接将升级值写入套接字:
// lib/dispatcher/client-h1.js:1121if(升级) {header += `connection:upgrade\r\nupgrade:
${upgrade}\r\n`} (CVE-2026-1527)
影响:服务器可能会使用 64 位长度格式并指定极大的长度值来响应 WebSocket 帧。undici 的 ByteParser 会因此导致内部数学运算溢出,最终进入无效状态,并抛出致命的 TypeError 异常,从而终止进程。
补丁
已在 undici 版本 v7.24.0 和 v6.24.0 中修复。用户应升级至此版本或更高版本。
(CVE-2026-1528)
影响:由于 permessage-deflate 扩展中对 server_max_window_bits 参数的验证不当,undici WebSocket 客户端容易受到拒绝服务攻击。当 WebSocket 客户端连接到服务器时,它会自动声明支持 permessage-deflate 压缩。恶意服务器可能会返回一个超出范围的 server_max_window_bits 值(超出 zlib 的有效范围 8-15)。
当服务器随后发送一个压缩帧时,客户端会尝试使用无效的 windowBits 值创建一个 zlib InflateRaw 实例,这将引发一个未被捕获的同步 RangeError 异常,导致进程立即终止。
存在该漏洞的原因是:
* isValidClientWindowBits() 函数仅验证值是否包含 ASCII 数字,并未验证其是否在 8-15 的有效范围内* createInflateRaw() 调用未被包裹在 try-catch 代码块中* 由此引发的异常会沿调用栈向上传播,并导致 Node.js 进程崩溃 (CVE-2026-2229)
这是一个未受控的资源消耗漏洞(CWE-400),可能导致拒绝服务(DoS)。
在存在漏洞的 Undici 版本中,当启用了 interceptors.deduplicate() 时,经过去重处理的请求的响应数据可能会在内存中累积,供下游处理程序使用。攻击者控制或不可信的上游端点可利用此漏洞,通过发送大型或分块响应以及并发发送相同请求,导致内存使用率激增,并可能引发内存不足 (OOM) 而终止进程。
受影响的用户是指那些针对可能产生大容量或长期存在的响应正文的终端,使用 Undici 去重拦截器的应用程序。
补丁:通过修改去重行为(在响应片段到达时立即将其流式传输给下游处理程序,而非累积整个响应主体),并防止在响应主体流式传输已开始后进行延迟去重,该问题已得到修复。
用户应升级到包含此修补程序的第一个官方 Undici(和 Node.js,如适用)版本。(CVE-2026-2581)
Tenable 已直接从测试产品的安全公告中提取上述描述块。
请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。
解决方案
运行“dnf update nodejs24 --releasever 2023.10.20260330”或“dnf update --advisory ALAS2023-2026-1526 --releasever 2023.10.20260330”以更新系统。
插件详情
文件名: al2023_ALAS2023-2026-1526.nasl
代理: unix
支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, 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:U/RL:O/RC:C
漏洞信息
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
易利用性: No known exploits are available