Amazon Linux 2 : curl (ALAS-2019-1162)

critical Nessus Plugin ID 122260

概要

遠端 Amazon Linux 2 主機缺少一個安全性更新。

說明

Libcurl 容易受到堆積緩衝區超出邊界讀取影響。處理傳入 NTLM type-2 訊息的函式 (`lib/vauth/ntlm.c:ntlm_decode_type2_target`) 未正確驗證傳入的資料,而且容易受到整數溢位弱點影響。惡意或中斷的 NTLM 伺服器可利用該溢位,誘騙 libcurl 接受錯誤的長度 + 位移組合,導致緩衝區讀取超出邊界。(CVE-2018-16890) 在 32 位元平台上,curl 和 libcurl 7.57.0 之前版本中的 NTLM 驗證功能可讓攻擊者透過涉及長使用者和密碼欄位的向量,造成拒絕服務 (整數溢位和所產生的緩衝區溢位,以及應用程式損毀),或可能造成其他不明影響。(CVE-2017-8816) 32 位元平台上的 curl 和 libcurl 7.57.0 之前版本可讓攻擊者造成拒絕服務 (超出邊界存取和應用程式損毀),或可能造成其他不明影響,這是因為連接到 SSL 程式庫配置太少的記憶體。(CVE-2017-8818) 在進行 FTP 時,libcurl 可能在堆積配置緩衝區之外讀取。當 libcurl 連線至 FTP 伺服器並成功登入 (匿名或不匿名) 時,它會使用 `PWD` 命令,向伺服器要求目前的目錄。接著,伺服器會以 257 回應來回應,此回應中的路徑會以雙引號括住。傳回的路徑名稱隨後會由 libcurl 保留,以供後續使用。由於此目錄名稱的字串剖析器中存有缺陷,因此,如果這種傳遞的目錄名稱沒有右雙引號,將會導致 libcurl 無法將結尾 NUL 位元組加入至持有該名稱的緩衝區。當 libcurl 隨後存取該字串時,它可以超出配置堆積緩衝區進行讀取並使超出緩衝區的資料損毀,或錯誤地存取超出緩衝區的資料,將其視為路徑的一部分。惡意伺服器可濫用此事實,並有效地防止 libcurl 型用戶端對其進行處理。PWD 命令一律會在新的 FTP 連線上發出,且此錯誤很可能會造成分割錯誤。這個問題長期未被發現的簡單事實可能表明,在良性的伺服器中,格式錯誤的 PWD 回應很少見。目前尚未發現此缺陷遭到惡意利用的案例。此錯誤在 2005 年 3 月的認可 [415d2e7cb7] 中引入 (https://github.com/curl/curl/commit/415d2e7cb7)。在 libcurl 7.56.0 版中,剖析器一律以零結束字串,並且將會拒絕最後未使用雙引號正確結束的字串。(CVE-2017-1000254) Curl 7.14.1 到 7.61.1 版在 tool_msgs.c:voutf() 函式中容易受到堆積型緩衝區過度讀取影響,進而可能導致資訊洩漏和拒絕服務。(CVE-2018-16842) libcurl 容易受到堆疊型緩衝區溢位影響。建立傳出 NTLM type-3 標頭的函式 (`lib/vauth/ntlm.c:Curl_auth_create_ntlm_type3_message()`) 會根據先前收到的資料,產生要求 HTTP 標頭內容。為防止本機緩衝區溢位而存在的檢查實作錯誤 (使用無正負號的數學),因此無法防止發生溢位。如果從惡意或中斷的 HTTP 伺服器提供的上一個 NTLMv2 標頭擷取非常大的「nt response」資料,此輸出資料可以增長到比本機緩衝區大。這種「大值」必須在 1000 位元組以上。複製到目標緩衝區的實際承載資料來自 NTLMv2 type-2 回應標頭。(CVE-2019-3822) libcurl 在處理 SMTP 之回應結尾的程式碼中,容易受到堆積超出邊界讀取影響。如果傳遞至 `smtp_endofresp()` 的緩衝區不是以 NUL 結尾,且不含已剖析數字的字元結尾,而且 `len` 設為 5,則 `strtol()` 呼叫會讀取超出配置的緩衝區。系統不會將讀取內容傳回給呼叫者。(CVE-2019-3823) 在 curl 和 libcurl 7.57.0 之前版本中,FTP wildcard 函式可讓遠端攻擊者透過結尾為「[」字元的字串,造成拒絕服務 (超出邊界讀取和應用程式損毀),或可能造成其他不明影響。(CVE-2017-8817) 在 GNU Wget 1.20.1 之前版本的 xattr.c 中,set_file_metadata 可將檔案的來源 URL 儲存在已下載檔案之延伸屬性的 user.xdg.origin.url 中繼資料屬性中,進而允許本機使用者透過讀取此屬性,取得敏感資訊 (例如,URL 中包含的認證),getfattr 即為一例。這也適用於 user.xdg.referrer.url 中繼資料屬性中的 Referer 資訊。根據 Wget ChangeLog 中的 2016-07-22,user.xdg.origin.url 在 curl 的 tool_xattr.c 中,部分是以 fwrite_xattr 的行為為基礎。(CVE-2018-20483) 在 libcurl 的 IMAP 處理常式中發現緩衝區溢位缺陷。透過誘騙不知情的使用者連線到惡意 IMAP 伺服器,攻擊者可利用此缺陷來造成資訊洩漏或損毀應用程式。(CVE-2017-1000257) 在與關閉簡單控點相關程式碼的 curl 7.59.0 到 7.61.1 中發現一個堆積釋放後使用缺陷。在 `Curl_close()` 函式中關閉並清除「簡單的」控點時,程式庫程式碼會先釋放 struct (而不使指標歸零),然後可能會錯誤地寫入已釋放之 struct 中的 struct 欄位。(CVE-2018-16840) Curl 7.33.0 到 7.61.1 版在 SASL 驗證程式碼中容易遭受緩衝區溢位,進而導致拒絕服務。(CVE-2018-16839)

解決方案

執行「yum update curl」以更新系統。

另請參閱

https://alas.aws.amazon.com/AL2/ALAS-2019-1162.html

Plugin 詳細資訊

嚴重性: Critical

ID: 122260

檔案名稱: al2_ALAS-2019-1162.nasl

版本: 1.5

類型: local

代理程式: unix

已發布: 2019/2/19

已更新: 2022/12/6

支援的感應器: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.5

媒介: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 8.5

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

時間媒介: CVSS:3.0/E:U/RL:O/RC:C

弱點資訊

CPE: p-cpe:/a:amazon:linux:curl, p-cpe:/a:amazon:linux:curl-debuginfo, p-cpe:/a:amazon:linux:libcurl, p-cpe:/a:amazon:linux:libcurl-devel, cpe:/o:amazon:linux:2

必要的 KB 項目: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2019/2/16

弱點發布日期: 2017/10/6

參考資訊

CVE: CVE-2017-1000254, CVE-2017-1000257, CVE-2017-8816, CVE-2017-8817, CVE-2017-8818, CVE-2018-16839, CVE-2018-16840, CVE-2018-16842, CVE-2018-16890, CVE-2018-20483, CVE-2019-3822, CVE-2019-3823

ALAS: 2019-1162