Slackware Linux 14.0/14.1/14.2/15.0/最新版 curl 多個弱點 (SSA:2022-299-01)

critical Nessus Plugin ID 166622

概要

遠端 Slackware Linux 主機缺少 curl 的安全性更新。

說明

遠端主機上安裝的 curl 版本為早於 7.86.0 的版本。因此,會受到 SSA:2022-299-01 公告中提及的一個弱點影響。

- curl 7.86.0 之前版本存在重複釋放問題。如果要求 curl 使用 HTTP Proxy 進行包含非 HTTP(S) URL 的傳輸,它會透過向 Proxy 發出 CONNECT 要求來設定與遠端伺服器的連線,然後讓其餘通訊協定通過。HTTP Proxy 可能會拒絕此要求 (HTTP Proxy 通常只允許至特定連接埠號碼的傳出連線,例如 HTTPS 的 443),而是將非 200 狀態碼傳回給用戶端。由於錯誤/清理處理中存在錯誤,如果在傳輸的 URL 中使用下列配置之一,這可在 curl 中觸發重複釋放:dict、gopher、gophers、ldap、ldaps、rtmp、rtmps 或 telnet。最早的受影響版本是 7.77.0。(CVE-2022-42915)

- 進行 HTTP(S) 傳輸時,如果之前曾使用相同的控點發出使用讀取回呼 (「CURLOPT_READFUNCTION」) 的「PUT」要求,則 libcurl 可能會錯誤地使用此回呼來要求要傳送的資料,即使已經設定「CURLOPT_POSTFIELDS」選項亦如此。此缺陷可能會使應用程式意外產生錯誤行為,並在後續的「POST」要求中傳送錯誤資料或使用釋放後的記憶體,或發生類似情況。從 PUT 變更為 POST 時,重複使用的控點邏輯中存在此問題。(CVE-2022-32221)

- 可指示 curl 剖析憑證的「.netrc」檔案。如果該檔案以包含 4095 個連續的非空白字母的行結尾且無新行,curl 會先讀取超出堆疊型緩衝區結尾的範圍,如果是 readworks,則寫入超出其邊界的零位元組。在大多數情況下,這會造成區段錯誤或類似問題,但也可能會造成不同的結果。如果惡意使用者可向應用程式提供自訂 netrc 檔案,或以其他方式影響其內容,則可利用此缺陷引致拒絕服務。(CVE-2022-35260)

- 在 curl 7.86.0 之前版本中,使用者可以繞過 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 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

升級受影響的 curl 套件。

Plugin 詳細資訊

嚴重性: Critical

ID: 166622

檔案名稱: Slackware_SSA_2022-299-01.nasl

版本: 1.8

類型: local

已發布: 2022/10/27

已更新: 2023/10/6

支援的感應器: 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-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: p-cpe:/a:slackware:slackware_linux:curl, cpe:/o:slackware:slackware_linux, cpe:/o:slackware:slackware_linux:14.0, cpe:/o:slackware:slackware_linux:14.1, cpe:/o:slackware:slackware_linux:14.2, cpe:/o:slackware:slackware_linux:15.0

必要的 KB 項目: Host/local_checks_enabled, Host/Slackware/release, Host/Slackware/packages

可被惡意程式利用: true

可輕鬆利用: Exploits are available

參考資訊

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

IAVA: 2022-A-0451-S