Fortinet FortiProxy curl 和 libcurl 多个漏洞 (FG-IR-23-385)

critical Nessus 插件 ID 192237

简介

远程主机上安装的 FortiProxy 版本缺少一个或多个与安全有关的更新。

描述

远程主机上安装的 FortiProxy 版本为 7.0.x、低于 7.2.8 的 7.2.x 或低于 7.4.2 的 7.4.x。因此,它受到 FG-IR-23-385 公告中提及的多个漏洞影响。

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

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

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

解决方案

请升级到 FortiProxy 7.2.8、7.4.2 或更高版本。

另见

https://www.fortiguard.com/psirt/FG-IR-24-015

插件详情

严重性: Critical

ID: 192237

文件名: fortiproxy_FG-IR-23-385.nasl

版本: 1.2

类型: local

系列: Firewalls

发布时间: 2024/3/19

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

支持的传感器: Nessus

风险信息

VPR

风险因素: High

分数: 7.4

CVSS v2

风险因素: Critical

基本分数: 10

时间分数: 7.8

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

CVSS 分数来源: CVE-2023-38545

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:/a:fortinet:fortiproxy

必需的 KB 项: Host/Fortigate/model, Host/FortiProxy/version

可利用: true

易利用性: Exploits are available

补丁发布日期: 2023/12/8

漏洞发布日期: 2023/11/14

参考资料信息

CVE: CVE-2023-38545, CVE-2023-38546