Ubuntu 18.04 LTS / 20.04 LTS:OpenSSL 弱點 (USN-5051-1)

critical Nessus Plugin ID 152784

概要

遠端 Ubuntu 主機缺少一個或多個安全性更新。

說明

遠端 Ubuntu 18.04 LTS/20.04 LTS/21.04 主機上安裝的套件受到 USN-5051-1 公告中所提及的多個弱點影響。

- 為了解密 SM2 加密資料,應用程式應呼叫 API 函式 EVP_PKEY_decrypt()。通常,應用程式會呼叫此函式兩次。第一次進入時,out 參數可以是 NULL,而在結束時,outlen 參數會填入保留解密純文字所需的緩衝區大小。然後,應用程式可以配置足夠大的緩衝區,並再次呼叫 EVP_PKEY_decrypt(),但這次會為 out 參數傳遞一個非 NULL 值。SM2 解密程式碼實作中有一個錯誤,表示保留第一次呼叫 EVP_PKEY_decrypt() 傳回的純文字所需的緩衝區大小計算結果可能小於第二次呼叫所需的實際大小。當應用程式使用過小的緩衝區第二次呼叫 EVP_PKEY_decrypt() 時,這可導致緩衝區溢位。能夠向應用程式呈現 SM2 解密內容的惡意攻擊者可造成攻擊者選擇的資料溢出緩衝區最多 62 個位元組,進而改變保留在緩衝區之後的其他資料內容,這可能會改變應用程式行為或造成應用程式損毀。緩衝區的位置與應用程式相關,但通常是配置的堆積。已在 OpenSSL 1.1.1l 中修正 (受影響的是 1.1.1-1.1.1k)。
(CVE-2021-3711)

- 在 OpenSSL 內部,ASN.1 字串以 ASN1_STRING 結構表示,其中包含一個保留字串資料的緩衝區,以及一個保留緩衝區長度的欄位。與此相對照的是,一般 C 字串表示為以 NUL (0) 位元組結束的字串資料緩衝區。雖然不是嚴格要求,但使用 OpenSSL 自己的 d2i 函式 (和其他類似剖析函式) 剖析 ASN.1 字串,以及已使用 ASN1_STRING_set() 函式設定值的任何字串,都會以額外的 NUL 結束 ASN1_STRING 結構中的位元組陣列。但是,應用程式可以透過直接設定 ASN1_STRING 陣列中的資料和長度欄位,直接建構非以 NUL 結束位元組陣列的有效 ASN1_STRING 結構。使用 ASN1_STRING_set0() 函式也可發生此情況。目前發現多個列印 ASN.1 資料的 OpenSSL 函式會假設 ASN1_STRING 位元組陣列將以 NUL 結束,但直接建構的字串並不一定如此。若應用程式要求列印 ASN.1 結構,且該 ASN.1 結構包含由應用程式直接建構的 ASN1_STRING,並且非以 NUL 結束資料欄位,則可能發生讀取緩衝區滿溢。在處理憑證的名稱限制期間也會發生同樣的情況 (例如,如果憑證是由應用程式直接建構,而非透過 OpenSSL 剖析函式載入,且憑證包含非以 NUL 結束的 ASN1_STRING 結構)。X509_get1_email()、X509_REQ_get1_email() 和 X509_get1_ocsp() 函式中也可能發生此情況。如果惡意執行者可造成應用程式直接建構 ASN1_STRING,然後透過其中一個受影響的 OpenSSL 函式加以處理,則可能會發生此問題。這可能會導致當機 (造成拒絕服務攻擊)。
也可能導致私密記憶體內容 (例如私密金鑰或敏感的純文字) 洩漏。已在 OpenSSL 1.1.1j 中修正 (受影響的是 1.1.1-1.1.1k)。已在 OpenSSL 1.0.2za 中修正 (受影響的是 1.0.2-1.0.2y)。(CVE-2021-3712)

請注意,Nessus 並未測試此問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

更新受影響的 libssl-dev、libssl1.1 和/或 openssl 套件。

另請參閱

https://ubuntu.com/security/notices/USN-5051-1

Plugin 詳細資訊

嚴重性: Critical

ID: 152784

檔案名稱: ubuntu_USN-5051-1.nasl

版本: 1.7

類型: local

代理程式: unix

已發布: 2021/8/24

已更新: 2023/10/16

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: High

基本分數: 7.5

時間分數: 6.2

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

CVSS 評分資料來源: CVE-2021-3711

CVSS v3

風險因素: Critical

基本分數: 9.8

時間分數: 9.1

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

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

弱點資訊

CPE: p-cpe:/a:canonical:ubuntu_linux:libssl-dev, cpe:/o:canonical:ubuntu_linux:18.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:openssl, cpe:/o:canonical:ubuntu_linux:20.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:libssl1.1

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2021/8/24

弱點發布日期: 2021/2/16

參考資訊

CVE: CVE-2021-3711, CVE-2021-3712

IAVA: 2021-A-0395-S

USN: 5051-1