Juniper Junos OS 多个漏洞 (JSA79108)

critical Nessus 插件 ID 193216

简介

远程设备缺少供应商提供的安全补丁。

描述

远程主机上安装的 Junos OS 版本受到 JSA79108 公告中提及的多个漏洞的影响。

- 此缺陷会导致 SOCKS5 代理握手中的 curl 溢出基于堆的缓冲区。当要求 curl 将主机名传递给 SOCKS5 代理以允许其解析地址而不是由 curl 本身完成时,主机名的最大长度为 255 字节。如果检测到主机名的长度过长,curl 就会切换到本地名称解析,而且仅传递解析后的地址。由于此缺陷,表示“让主机解析名称”的本地变量可能会在缓慢的 SOCKS5 握手期间获取错误值,并且与意图相反。请将过长的主机名复制到目标缓冲区,而不是仅复制已解析的主机名地址。目标缓冲区是基于堆的缓冲区,主机名来自于已告知 curl 进行操作的 URL。(CVE-2023-38545)

- CVE-2023-38545 是 libcurl 和 curl 的 SOCKS5 代理握手中存在的基于堆的缓冲区溢出漏洞。当为 curl 提供一个主机名以传递给长度大于 255 字节的 SOCKS5 代理时,它将切换到本地名称解析,以便在将其传递给 SOCKS5 代理之前解析该地址。但由于 2020 年引入的错误,此本地名称解析可能会因 SOCKS5 握手缓慢而失败,导致 curl 将长度大于 255 字节的主机名传递到目标缓冲区,从而导致堆溢出情形。 CVE-2023-38545 的公告中提供了重定向到特制 URL 的恶意 HTTPS 服务器的示例利用情况。虽然攻击者似乎需要影响 SOCKS5 握手的缓慢程度,但该公告指出,服务器延迟可能足够缓慢,足以触发此错误。(CVE-2023-38545)

如果满足一系列特定条件,允许攻击者就会利用此缺陷,使用 libcurl 随意将 Cookie 插入到正在运行的程序中。libcurl 执行传输。在其 API 中,应用程序创建简单的句柄,这些句柄是单次传输的单独句柄。 libcurl 会提供一个函数调用,该函数调用可复制名为 [curl_easy_duphandle] 的简单句柄 (https://curl.se/libcurl/c/curl_easy_duphandle.html)。如此次传输在复制句柄时启用了 Cookie,则 cookie-enable 状态也会被克隆 - 但不会克隆实际的 Cookie。如果源句柄未从磁盘上的特定文件读取任何 Cookie,则句柄的克隆版本会将文件名存储为 none(使用四个 ASCII 字母,不含引号)。如果后续使用克隆句柄时未明确设置用于加载 Cookie 的源,则会无意中从名为 none 的文件加载 Cookie - 如果此类文件存在并且可以使用 libcurl 在程序的当前目录中读取。当然,也包括使用正确的文件格式的情况。
(CVE-2023-38546)

- CVE-2023-38546 是 curl_easy_duphandle() 中的 Cookie 注入漏洞,而 curl_easy_duphandle() 是 libcurl 中复制简单句柄的函数。复制简单句柄时,如果启用了 Cookie,则复制的简单句柄将不会复制 Cookie 本身,而会将文件名设置为 none'。因此,在随后使用重复的简单句柄时,如果没有为 Cookie 设置源,libcurl 就会尝试从磁盘上名为 none' 的文件加载它们。该漏洞的评级为“低危”,因为利用该漏洞所需的各种条件不太可能出现。(CVE-2023-38546)

- curl <v7.88.0 中存在敏感信息明文传输漏洞,当连续请求多个 URL 时,可能导致 HSTS 功能失败。如使用 HSTS 支持,即使在 URL 中提供了 HTTP,仍可指示 curl 使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。然而,令人意外的是,当在相同命令行上完成时,此 HSTS 机制会被后续传输忽略,因为状态不会正确维持下去。 (CVE-2023-23914)

- curl <v7.88.0 中存在敏感信息明文传输漏洞,当同时请求多个 URL 时,可能导致 HSTS 功能表现不当。如使用 HSTS 支持,即使在 URL 中提供了 HTTP,仍可指示 curl 使用 HTTPS,而不是使用不安全的明文 HTTP 步骤。然而,当并行完成多个传输时,此 HSTS 机制会出人意料地失败,因为 HSTS 缓存文件被最近完成的传输覆盖。之后向之前主机名的仅 HTTP 传输将*不会*正确升级到 HSTS。
(CVE-2023-23915)

- 恶意服务器可使用 FTP PASV 响应诱骗 curl 7.73.0 及更早版本连接回给定的 IP 地址和端口,而这种方式可能会让 curl 提取有关非公开且不应披露的服务的信息,例如进行端口操作扫描和服务标题提取。
(CVE-2020-8284)

- curl 7.21.0 到 7.73.0(包含)的版本容易受到非受控递归的攻击,这是 FTP 通配符匹配解析中的堆栈溢出问题所致。(CVE-2020-8285)

- curl 7.41.0 到 7.73.0 容易受到证书吊销检查不当的影响,这是未充分验证 OCSP 响应所致。(CVE-2020-8286)

- 在 7.12.3 到 7.58.0(含)的 curl 中,FTP URL 处理代码中存在缓冲区溢出漏洞,可让攻击者造成拒绝服务或更严重的问题。(CVE-2018-1000120)

- 在 7.20.0 到 7.58.0(含)的 curl 中,RTSP+RTP 处理代码中存在缓冲区过度读取漏洞,可让攻击者造成拒绝服务或信息泄漏 (CVE-2018-1000122)

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

解决方案

应用 Juniper 公告 JSA79108 中提及的相关 Junos 软件版本

另见

http://www.nessus.org/u?06cd5d1b

http://www.nessus.org/u?150809e9

http://www.nessus.org/u?c07d7e31

http://www.nessus.org/u?f118a206

插件详情

严重性: Critical

ID: 193216

文件名: juniper_jsa79108.nasl

版本: 1.4

类型: combined

发布时间: 2024/4/11

最近更新时间: 2024/4/27

支持的传感器: Nessus

风险信息

VPR

风险因素: High

分数: 7.4

CVSS v2

风险因素: High

基本分数: 7.5

时间分数: 5.9

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

CVSS 分数来源: CVE-2018-1000120

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

CVSS 分数来源: CVE-2023-38545

漏洞信息

CPE: cpe:/o:juniper:junos

必需的 KB 项: Host/Juniper/JUNOS/Version

可利用: true

易利用性: Exploits are available

补丁发布日期: 2024/4/10

漏洞发布日期: 2018/3/14

参考资料信息

CVE: CVE-2018-1000120, CVE-2018-1000122, CVE-2020-8284, CVE-2020-8285, CVE-2020-8286, CVE-2023-23914, CVE-2023-23915, CVE-2023-38545, CVE-2023-38546

IAVA: 2024-A-0232

JSA: JSA79108