Ubuntu 18.04 LTS / 20.04 LTS / 22.04 LTS:curl 漏洞 (USN-5702-1)

critical Nessus 插件 ID 166561

简介

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

描述

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

- 在 7.86.0 版之前的 curl 中存在双重释放。如果指示 curl 使用 HTTP 代理进行具有非 HTTP URL 的传输,它会通过向代理发出 CONNECT 请求来与远程服务器建立连接,然后使协议的其余部分通过隧道。HTTP 代理可能拒绝此请求(HTTP 代理通常只允许传出连接至特定端口号,例如 HTTPS 的 443),而向客户端返回非 200 状态代码。由于错误/清理处理中的缺陷,如果在 URL 中使用以下方案之一进行传输,则这可能在 curl 中触发双重释放:dict、gopher、gophers、ldap、ldaps、rtmp、rtmps 或 telnet。低于 7.77.0 的版本均受影响。(CVE-2022-42915)

- 在进行 HTTP(S) 传输时,如果之前使用相同的句柄发出 `PUT` 请求(使用读取回调 (`CURLOPT_READFUNCTION`)),即使设置了 `CURLOPT_POSTFIELDS` 选项,libcurl 可能会错误地使用该回调来请求发送数据。此缺陷可能会使应用程序发生意外并导致其行为不当,并在后续的 `POST` 请求中发送错误的数据或使用释放后的内存或类似内容。从 PUT 更改为 POST 时,重用句柄的逻辑中存在此问题。(CVE-2022-32221)

- 可指示 curl 解析 `.netrc` 文件以获取凭据。如果该文件以具有 4095 个连续非空白字符且无换行符的行结尾,则 curl 将首先读取超过基于堆栈的缓冲区的末尾,如果是 readworks,则写入一个超出其边界的零字节。在大多数情况下此问题会造成段错误或类似问题,但不同的环境也可能造成不同的结果。如果恶意用户可以向应用程序提供自定义 netrc 文件,或以其他方式影响其内容,则此缺陷可被用作拒绝服务。(CVE-2022-35260)

- 在 7.86.0 版之前的 curl 中,可绕过 HSTS 检查以诱骗其继续使用 HTTP。使用其 HSTS 支持,即使在 URL 中提供 HTTP 时,也可指示 curl 直接使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。如果给定 URL 中的主机名使用在 IDN 转换过程中被 ASCII 对应项替换的 IDN 字符,则可绕过此机制。例如使用字符 UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) 而不是通用 ASCII 句号 U+002E (.)。
低于 7.77.0 2021-05-26 的版本均受影响。(CVE-2022-42916)

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

解决方案

更新受影响的程序包。

另见

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

插件详情

严重性: Critical

ID: 166561

文件名: ubuntu_USN-5702-1.nasl

版本: 1.11

类型: local

代理: unix

发布时间: 2022/10/26

最近更新时间: 2023/10/16

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.8

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

CVSS 分数来源: CVE-2022-32221

CVSS v3

风险因素: Critical

基本分数: 9.8

时间分数: 8.8

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

漏洞信息

CPE: cpe:/o:canonical:ubuntu_linux:18.04:-:lts, cpe:/o:canonical:ubuntu_linux:20.04:-:lts, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:curl, p-cpe:/a:canonical:ubuntu_linux:libcurl3-gnutls, p-cpe:/a:canonical:ubuntu_linux:libcurl3-nss, p-cpe:/a:canonical:ubuntu_linux:libcurl4, p-cpe:/a:canonical:ubuntu_linux:libcurl4-gnutls-dev, p-cpe:/a:canonical:ubuntu_linux:libcurl4-nss-dev, p-cpe:/a:canonical:ubuntu_linux:libcurl4-openssl-dev

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2022/10/26

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

参考资料信息

CVE: CVE-2022-32221, CVE-2022-35260, CVE-2022-42915, CVE-2022-42916

IAVA: 2022-A-0451-S

USN: 5702-1