Ubuntu 20.04 LTS / 22.04 LTS:Puma 漏洞 (USN-6682-1)

critical Nessus 插件 ID 191720

简介

远程 Ubuntu 主机缺少一个或多个安全更新。

描述

远程 20.04 LTS / 22.04 LTS 主机上安装的程序包受到 USN-6682-1 公告中提及的多个漏洞的影响。

- 在 4.3.4 和 3.12.5 之前的 Puma (RubyGem),攻击者可使用无效的传输编码标头,走私 HTTP 响应。此问题已在 Puma 3.12.5 和 Puma 4.3.4 中修复。(CVE-2020-11076)

- 在 4.3.5 和 3.12.6 之前的 Puma (RubyGem),客户端可通过代理走私请求,导致代理将响应发送回另一个未知客户端。如果代理使用持续连接,并且客户端通过 HTTP 管道添加了另一个请求,则代理可能会将其误认为是第一个请求的正文。
但是,Puma 会将其视为两个请求,并在处理第二个请求时发回代理未预期的响应。如果代理已重新使用与 Puma 的持续连接为其他客户端发送其他请求,则来自第一个客户端的第二个响应将被发送到第二个客户端。这是一个与 CVE-2020-11076 类似但并不相同的漏洞。此问题已在 Puma 3.12.6 和 Puma 4.3.5 中修复。(CVE-2020-11077)

- Puma 是为实现并行性而构建的 Ruby/Rack Web 服务器。在 `puma` 5.6.2 之前版本中,`puma` 可能不会始终在响应正文中调用 `close`。在 Rails `7.0.2.2` 之前版本中,Rails 需要关闭响应正文,才能使其 `CurrentAttributes` 实现正确工作。这两种行为同时出现(Puma 未关闭正文 + Rails 的 Executor 实现)将会导致信息泄漏。此问题已在 Puma 5.6.2 和 4.3.11 版本中修复。此问题已在 Rails 7.02.2、6.1.4.6、6.0.4.6 和 5.2.6.2 版本中修复。升级到修补后的 Rails _or_ Puma 版本可修复此漏洞。(CVE-2022-23634)

- Puma 是用于 Ruby/Rack 应用程序的 HTTP 1.1 服务器,简单、快速,可多线程并行执行。在未正确验证传入 HTTP 请求是否符合 RFC7230 标准的代理后面使用 Puma 时,Puma 和前端代理可能会就请求开始和结束的位置上产生分歧。这将允许通过前端代理将请求走私给 Puma。此漏洞已在 5.6.4 和 4.3.12 版本中得到修复。建议用户尽快升级。变通方案:在 Puma 前面部署代理时,开启所有功能以确保请求符合 RFC7230 标准。
(CVE-2022-24790)

- Puma 是为实现并行性而构建的 Ruby/Rack Web 服务器。在版本 6.3.1 和 5.6.7 之前,puma 在以允许 HTTP 请求走私的方式解析分块传输编码主体和零长度 Content-Length 标头时,呈现出不正确的行为。此问题的严重性很大程度上取决于使用 puma 的网站的性质。这可能是由于分块传输编码主体中末尾字段的解析不正确,或空白/零长度 Content-Length 标头的解析造成的。这两个问题均已得到解决,而且此漏洞已在版本 6.3.1 和 5.6.7 中得到修复。建议用户升级。
目前尚无针对此漏洞的变通方案。(CVE-2023-40175)

- Puma 是为实现并行性而构建的适用于 Ruby/Rack 应用程序的 Web 服务器。在版本 6.4.2 之前,puma 在以允许 HTTP 请求走私的方式解析分块传输编码主体时,呈现出不正确的行为。经修复的版本会限制区块扩展的大小。如果没有此限制,攻击者可造成无限资源(CPU、网络带宽)消耗。该漏洞已在版本 6.4.2 和 5.6.8 中修复。(CVE-2024-21647)

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

解决方案

升级受影响的 puma 程序包。

另见

https://ubuntu.com/security/notices/USN-6682-1

插件详情

严重性: Critical

ID: 191720

文件名: ubuntu_USN-6682-1.nasl

版本: 1.0

类型: local

代理: unix

发布时间: 2024/3/7

最近更新时间: 2024/3/7

支持的传感器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 5

时间分数: 3.7

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

CVSS 分数来源: CVE-2022-24790

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.5

矢量: 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

CVSS 分数来源: CVE-2023-40175

漏洞信息

CPE: cpe:/o:canonical:ubuntu_linux:20.04:-:lts, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:puma

必需的 KB 项: Host/cpu, Host/Ubuntu, Host/Ubuntu/release, Host/Debian/dpkg-l

易利用性: No known exploits are available

补丁发布日期: 2024/3/7

漏洞发布日期: 2020/5/22

参考资料信息

CVE: CVE-2020-11076, CVE-2020-11077, CVE-2022-23634, CVE-2022-24790, CVE-2023-40175, CVE-2024-21647

USN: 6682-1