FreeBSD:cURL ライブラリ -- curl_easy_unescape 内のヒープ破損(01cf67b3-dc3b-11e2-a6cd-c48508086173)

medium Nessus プラグイン ID 66968

概要

リモート FreeBSD ホストには、セキュリティ関連の更新がありません。

説明

cURL 開発者による報告:

libcurl は入力データの不良チェックの場合に脆弱性があり、これがヒープ破損を引き起こす可能性があります。

curl_easy_unescape() 関数は、URL エンコードされた文字列を生バイナリデータにデコードします。URL エンコードされたオクテットは %HH の組み合わせで表現され、その際の HH は 2 桁の 16 進数です。デコードされた文字列は、関数が呼び出し側に返す、割り当てメモリ領域に書き込まれます。

関数はソース文字列と長さパラメーターを受け取り、長さの値が 0 の場合、この関数が代わりに strlen() を使用して解析データ量を判断します。

「%HH」パーサーは、ゼロバイトが入力を終了させるケースのみを間違って考慮していました。長さ制限されたバッファが渡されて、その際に「%」文字で終わった後に、libcurl が解析を許可されているバッファ領域外に終端ゼロなしで 2 桁の 16 進数が続く場合、libcurl は引き続きこのシーケンスを解析します。
次いで、処理すべき残留データのカウンターが大幅に減少され、非常に大きな整数になるようにラップされるため、コピーに多大な時間がかかり、ヒープに割り当てられた指定先バッファが上書きされることになります。

プログラムがユーザー指定の文字列をフィルターせずにこの関数に取り込むことができる可能性は低いと考えられます。さらに、ゼロ終端入力文字列を使用しているケース以外が、この欠陥の影響を受けます。この欠陥を悪用して悪影響をもたらすことは、特定の状況下では可能かもしれませんが、そうなる一般的なリスクは低いと考えられます。

curl コマンドラインツールはこの関数を使用しないため、この問題の影響を受けません。

現時点では、利用可能な既知の悪用例はありません。

ソリューション

影響を受けるパッケージを更新してください。

参考資料

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

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

プラグインの詳細

深刻度: 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