Fortinet FortiProxy curl 和 libcurl 多個弱點 (FG-IR-23-385)

critical Nessus Plugin ID 192237

概要

遠端主機上安裝的 FortiProxy 版本缺少一個或多個安全性更新。

說明

遠端主機上安裝的 FortiProxy 為 7.0.x、7.2.8 之前的 7.2.x 版或 7.4.2 之前的 7.4.x 版。因此,它受到 FG-IR-23-385 公告中提及的多個弱點影響。

- 此缺陷會使 SOCKS5 proxy 交握中的堆積型緩衝區 curl 溢位。當要求 curl 將主機名稱傳遞至 SOCKS5 Proxy 以允許其解析位址 (而非由 curl 本身完成解析) 時,主機名稱的最大長度為 255 個位元組。如果偵測到主機名稱過長,curl 會切換為本機名稱解析,並僅傳送解析的位址。由於此錯誤,表示「讓主機解析名稱」的本機變數會在緩慢的 SOCKS5 交握期間取得錯誤值,且與預期相反,這些本機變數會將過長的主機名稱複製到目標緩衝區,而非僅複製已解析的位址。目標緩衝區為堆積型緩衝區,且主機名稱來自 curl 被告知要使用的 URL。(CVE-2023-38545)

- 此缺陷允許攻擊者在符合特定係列條件的情況下,任意將 Cookie 插入使用 libcurl 的執行程式中。libcurl 會執行傳輸。libcurl 會執行傳輸。在其 API 中,應用程式會建立「簡易控點」,這是單一傳輸的個別控點。 libcurl 可提供一個複制簡易控制代碼 (稱為「curl_easy_duphandle」) 的函式呼叫。如果在復控制代碼時傳輸啟用了 Cookie,則啟用 Cookie 的狀態也會被復制,但實際的 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

Plugin 詳細資訊

嚴重性: 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