FreeBSD:cURL 程式庫 -- curl_easy_unescape 中的堆積損毀 (01cf67b3-dc3b-11e2-a6cd-c48508086173)

medium Nessus Plugin ID 66968

概要

遠端 FreeBSD 主機缺少安全性相關更新。

說明

cURL 開發人員報告:

libcurl 容易遭到輸入資料檢查錯誤的情況,這可能會導致堆積損毀。

函式 curl_easy_unescape() 可將 URL 編碼的字串解碼為原始二進位資料。URL 編碼的八位元會以 %HH 組合呈現,其中 HH 是一個兩位數的十六進位數字。解碼的字串會寫入至函式傳回給呼叫者的已配置記憶體區域。

該函式會使用一個來源字串和一個長度參數,而且如果所提供的長度為 0,則該函式會改用 strlen() 來判斷要剖析的資料有多少。

「%HH」剖析器只會考量零位元組將終止輸入的情況,這是錯誤的。如果傳送一個長度有限的緩衝區 (其中以「%」字元為結尾),隨後在允許 libcurl 剖析沒有終止零的 alas 的緩衝區外接著兩個十六進位數字,則 libcurl 仍會照樣剖析該序列。
然後,針對要處理的剩餘資料的計數器將會減少太多並包裝成為非常大的整數,且複製將會持續太長,而且已配置在該堆積上的目的地緩衝區會遭到覆寫。

我們認為不太可能發生程式允許使用者提供的字串未經篩選進入此函式的情形。此外,此瑕疵只會影響非零終止的輸入字串使用案例。針對特定環境而惡意利用此瑕疵獲利是可能的,但我們認為其一般風險不高。

curl 命令行工具不受此問題影響,因為它不使用此函式。

目前尚無已知可用的惡意利用。

解決方案

更新受影響的套件。

另請參閱

https://curl.haxx.se/docs/CVE-2013-2174.html

http://www.nessus.org/u?b98d322a

Plugin 詳細資訊

嚴重性: Medium

ID: 66968

檔案名稱: freebsd_pkg_01cf67b3dc3b11e2a6cdc48508086173.nasl

版本: 1.7

類型: local

已發布: 2013/6/24

已更新: 2021/1/6

支援的感應器: Nessus

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Medium

基本分數: 6.8

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

弱點資訊

CPE: p-cpe:/a:freebsd:freebsd:curl, cpe:/o:freebsd:freebsd

必要的 KB 項目: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info

修補程式發佈日期: 2013/6/23

弱點發布日期: 2013/6/22

參考資訊

CVE: CVE-2013-2174