Debian DLA-2500-1:curl 安全更新

high Nessus 插件 ID 144497

简介

远程 Debian 主机缺少安全更新。

描述

在 curl(用于使用 URL 语法传输数据的命令行工具和易于使用的客户端 URL 传输库)中发现多个漏洞。

CVE-2020-8284

当 curl 执行被动 FTP 传输时,它首先尝试 EPSV 命令,如果该命令不受支持,它会回退到使用 PASV。
curl 默认使用被动模式。对 PASV 命令的服务器响应包括供客户端重新连接的 (IPv4) 地址和端口号,以便执行实际的数据传输。这就是 FTP 协议的工作方式。恶意服务器可使用 PASV 响应诱骗 curl 连接回给定的 IP 地址和端口,而这种方式可能会让 curl 提取有关非公开且不应披露的服务的信息,例如进行端口操作扫描和服务标题提取。

现在,默认忽略响应的 IP 地址部分,方法是将 CURLOPT_FTP_SKIP_PASV_IP 默认设置为 1L,而不是之前的 0L。这里存在一个次要缺陷,即当服务器确实需要客户端连接回 IP 地址时,此 IP 地址不同于控制连接所用地址,且与可设置为 OL 的 CURLOPT_FTP_SKIP_PASV_IP 之地址不同,小部分用例可能会中断。命令行工具也是如此,随后可能需要

--no-ftp-skip-pasv-ip 设置为防止 curl 忽略服务器响应中的地址。

CVE-2020-8285

libcurl 提供通配符匹配功能,当 libcurl 对所有可用条目列表进行迭代时,该功能允许回调(通过 CURLOPT_CHUNK_BGN_FUNCTION 设置),以将有关如何处理目录中特定条目的信息返回给 libcurl。当此回调返回 CURL_CHUNK_BGN_FUNC_SKIP 以告知 libcurl 不处理该文件时,libcurl 中的内部函数会递归调用自身,以便以处理下一个目录条目。如果有足够数量的文件条目,并且回调返回“skip”的次数足够多,则 libcurl 将耗尽堆栈空间。确切的数量当然会随平台、编译器和其他环境因素而变化。远程目录的内容未保留在堆栈中,因此攻击者似乎很难准确控制覆盖堆栈的数据;但是仍可作为拒绝服务适量,因为控制 libcurl-using 应用程序在这些前提下与之配置使用的服务器的恶意用户可触发崩溃。

内部函数被重写为使用普通循环,而不是递归方法。这样,无论跳过多少文件,堆栈使用都将保持不变。

CVE-2020-8286

libcurl 通过 CURLOPT_SSL_VERIFYSTATUS 选项提供“OCSP stapling”。进行设置后,libcurl 会对服务器作为 TLS 握手一部分进行响应的 OCSP 响应进行验证。如果响应出现问题,它将中止 TLS 协商。可以使用 curl 工具通过 --cert-status 启用相同功能。作为 OCSP 响应验证的一部分,客户端应验证响应确实是针对正确证书发出的。在构建时或被告知使用 OpenSSL 作为 TLS 后端时,libcurl 未执行此步骤。
此缺陷允许可能破坏 TLS 服务器的攻击者提供看似正常的欺骗性 OCSP 响应,而非真正的 OCSP 响应。就如同原始证书实际上已被吊销。

OCSP 响应检查程序功能现在也会验证证书 ID 是否正确。

对于 Debian 9 Stretch,已在版本 7.52.1-5+deb9u13 中修复这些问题。

建议您升级 curl 程序包。

如需了解 curl 的详细安全状态,请参阅其安全跟踪页面: https://security-tracker.debian.org/tracker/curl

注意:Tenable Network Security 已直接从 DLA 安全公告中提取上述描述块。Tenable 已尝试在不引入其他问题的情况下,尽可能进行自动清理和排版。

解决方案

升级受影响的程序包。

另见

https://lists.debian.org/debian-lts-announce/2020/12/msg00029.html

https://packages.debian.org/source/stretch/curl

https://security-tracker.debian.org/tracker/source-package/curl

插件详情

严重性: High

ID: 144497

文件名: debian_DLA-2500.nasl

版本: 1.6

类型: local

代理: unix

发布时间: 2020/12/21

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

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

风险信息

VPR

风险因素: Medium

分数: 4.4

CVSS v2

风险因素: Medium

基本分数: 5

时间分数: 3.9

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

CVSS 分数来源: CVE-2020-8286

CVSS v3

风险因素: High

基本分数: 7.5

时间分数: 6.7

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

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

漏洞信息

CPE: p-cpe:/a:debian:debian_linux:curl, p-cpe:/a:debian:debian_linux:libcurl3, p-cpe:/a:debian:debian_linux:libcurl3-nss, cpe:/o:debian:debian_linux:9.0, p-cpe:/a:debian:debian_linux:libcurl4-gnutls-dev, p-cpe:/a:debian:debian_linux:libcurl3-dbg, p-cpe:/a:debian:debian_linux:libcurl3-gnutls, p-cpe:/a:debian:debian_linux:libcurl4-doc, p-cpe:/a:debian:debian_linux:libcurl4-nss-dev, p-cpe:/a:debian:debian_linux:libcurl4-openssl-dev

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

可利用: true

易利用性: Exploits are available

补丁发布日期: 2020/12/18

漏洞发布日期: 2020/12/14

参考资料信息

CVE: CVE-2020-8284, CVE-2020-8285, CVE-2020-8286

IAVA: 2020-A-0581