Debian DLA-711-1:curl 安全性更新

critical Nessus Plugin ID 94941
新推出!Plugin 嚴重性目前使用 CVSS v3

計算 Plugin 嚴重性已更新為預設使用 CVSS v3 沒有 CVSS v3 評分的 Plugin 會回歸到以 CVSS v2 計算嚴重性。您可在設定下拉式選單中切換顯示嚴重性的喜好設定

Synopsis

遠端 Debian 主機缺少一個安全性更新。

描述

CVE-2016-8615 如果寫入 cookie 狀態的 cookie jar 檔案在後續要求中重新讀取和使用,惡意的 HTTP 伺服器可以在該 cookie jar 檔案中插入任意網域的新的 cookie。此問題是和將 cookie 載入記憶體的函式有關,其會使用「fgets()」函式將指定檔案逐行讀入固定大小的緩衝區中。如果因為目的地緩衝區過小導致 fgets() 叫用無法將整行內容讀入該緩衝區,它會截斷輸出。這麼一來,惡意伺服器傳送的特長 cookie (名稱 + 值) 會儲存在檔案中,造成之後可局部讀取並正確特製該 cookie,使得其被視為另一個伺服器的 cookie。CVE-2016-8616 重複使用連線時,curl 會將使用者名稱和密碼與現有的連線進行不區分大小寫的比較。這表示如果對於有連線範圍憑證的通訊協定,存在具有適當憑證的未使用的連線,攻擊者若知道不區分大小寫的正確密碼,即可藉此重複使用該連線。CVE-2016-8617 在 libcurl 的 base64 編碼函式中,輸出緩衝區會在未檢查輸入資料大小的情況下作如下配置:malloc( insize * 4 / 3 + 4 ) 在使用者空間採用 32 位元位址的系統上 (如 x86、ARM、x32),如果資料輸入的大小至少達到 1 GB,運算式中的乘法計算會繞回。如果發生此情況,會導致輸出緩衝區配置過小,但是會寫入完整結果,因而造成覆寫輸出緩衝區背後的記憶體。若系統是採用 64 位元版本型的「size_t」,則不受此問題影響。CVE-2016-8618 稱作 curl_maprintf() 的 libcurl API 函式會遭到誘騙執行雙重釋放,這是因為使用 32 位元「size_t」變數的系統上有不安全的「size_t」乘法所致。內部還有其他很多情況可能會使用到此函式。若系統是採用 64 位元版本型的「size_t」,則不受此問題影響。CVE-2016-8619 在 curl 的 Kerberos 驗證機制實作中,會使用 security.c 的「read_data()」函式來填補必要的 krb5 結構。從通訊端讀取其中一個長度欄位時,它無法確保傳送至 realloc() 的長度參數並未設為 0。CVE-2016-8621 「curl_getdate」將給定的日期字串轉換為數字時間戳記,且它支援使用很多不同的格式和可能性來表示日期與時間。內部在剖析像是 HTTP cookie (可能來自遠端伺服器) 時亦會使用到基礎日期剖析函式,且提出條件式 HTTP 要求時也有可能使用到此函式。CVE-2016-8622 libcurl 中的 URL 百分號編碼解碼函式稱作「curl_easy_unescape」。在內部,即使此函式已設定為配置大於 2GB 的解除逸出目的地緩衝區,它仍會以帶正負號的 32 位元整數變數傳回新長度,因此長度會被截斷或是被截斷並轉變為負數值。如此會導致 libcurl 寫入超出了其堆積型緩衝區。CVE-2016-8623 libcurl 明確允許使用者在不同執行緒所利用的數個簡易句柄共用 cookie。收集要傳送到伺服器的 cookie 時,比對函式會收集所有要傳送的 cookie,並在之後立即釋放 cookie 鎖定。然而該函式只會將含有 *references* 的清單傳回到原始的名稱、值、路徑等字串。因此,如果另一個執行緒很快地取得鎖定並將其中一個原始 cookie 結構連同其字串一起釋放,可能會發生釋放後使用錯誤並導致資訊洩漏。另一個執行緒亦可從單獨 HTTP 回應或 API 呼叫來取代 cookie 內容。CVE-2016-8624 主機名稱部份結尾是「#」字元時,curl 無法正確剖析 URL 的授權單位元件,且反而會遭到誘騙而連線到不同的主機。比方說如果您使用的 URL 剖析器會在使用 curl 提出要求前,遵照 RFC 規定檢查允許網域,這就有可能帶來安全性的影響。針對 Debian 7「Wheezy」,這些問題已在 7.26.0-1+wheezy17 版本中修正。建議您升級 curl 套件。注意:Tenable Network Security 已直接從 DLA 安全性公告擷取前置描述區塊。Tenable 已盡量在不造成其他問題的前提下,嘗試自動清理並將其格式化。

解決方案

升級受影響的套件。

另請參閱

https://lists.debian.org/debian-lts-announce/2016/11/msg00018.html

https://packages.debian.org/source/wheezy/curl

Plugin 詳細資訊

嚴重性: Critical

ID: 94941

檔案名稱: debian_DLA-711.nasl

版本: 2.8

類型: local

代理程式: unix

已發布: 2016/11/18

已更新: 2021/1/11

相依性: ssh_get_info.nasl

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 5.5

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

時間媒介: E:U/RL:OF/RC:C

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

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

弱點資訊

CPE: p-cpe:/a:debian:debian_linux:curl, p-cpe:/a:debian:debian_linux:libcurl3, p-cpe:/a:debian:debian_linux:libcurl3-dbg, p-cpe:/a:debian:debian_linux:libcurl3-gnutls, p-cpe:/a:debian:debian_linux:libcurl3-nss, p-cpe:/a:debian:debian_linux:libcurl4-gnutls-dev, p-cpe:/a:debian:debian_linux:libcurl4-nss-dev, p-cpe:/a:debian:debian_linux:libcurl4-openssl-dev, cpe:/o:debian:debian_linux:7.0

必要的 KB 項目: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2016/11/17

弱點發布日期: 2018/7/31

參考資訊

CVE: CVE-2016-8615, CVE-2016-8616, CVE-2016-8617, CVE-2016-8618, CVE-2016-8619, CVE-2016-8621, CVE-2016-8622, CVE-2016-8623, CVE-2016-8624