Ubuntu 20.04 ESM:Nanopb 弱點 (USN-6121-1)

high Nessus Plugin ID 176490

概要

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

說明

遠端 Ubuntu 20.04 ESM 主機上安裝的多個套件受到 USN-6121-1 公告中提及的多個弱點影響。

- Nanopb 是一個小型程式碼大小的 Protocol Buffers 實作。在低於 0.4.4 和 0.3.9.7 版的 Nanopb 中,如果已啟用動態配置、oneof 欄位包含含有動態欄位的靜態子訊息,且所解碼的訊息多次含有子訊息,則解碼特定格式的訊息可能會洩漏記憶體。這在一般訊息中很少見,但在剖析未受信任的資料時,這是一個問題。此問題已在 0.3.9.7 和 0.4.4 版中修正。有以下可用的因應措施:1) 針對 oneof 欄位設定選項「no_unions」。這會產生獨立的欄位,而非 C 並集,並避免觸發有問題的程式碼。 2) 將 oneof 內的 submessage 欄位類型設定為「FT_POINTER」。這樣,整個子訊息都會動態配置,且不會執行有問題的程式碼。 3) 針對 nanopb 使用 arena 配置器,以確保之後可以釋放所有記憶體。
(CVE-2020-26243)

- Nanopb 是 ansi C 的小型程式碼大小的通訊協定緩衝區實作。在 0.3.9.8 和 0.4.5 之前的 nanopb 版本中,如果訊息類型包含「oneof」欄位,而「oneof」直接包含一個指標欄位和一個非指標欄位,則解碼特定格式的訊息會造成無效的「free()」或「realloc()」呼叫。如果訊息資料先包含非指標欄位,然後是指標欄位,則會錯誤地將非指標欄位的資料視為指標值。此類訊息資料在一般訊息中很少見,但在剖析未受信任的資料時,這是一個問題。此問題已在 0.3.9.8 和 0.4.5 版中修正。如需詳細資訊,包括因應措施,請參閱提及的 GitHub 安全性公告。(CVE-2021-21401)

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

解決方案

更新受影響的 libnanopb-dev 和/或 nanopb 套件。

另請參閱

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

Plugin 詳細資訊

嚴重性: High

ID: 176490

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

版本: 1.1

類型: local

代理程式: unix

已發布: 2023/5/30

已更新: 2023/10/20

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

風險資訊

VPR

風險因素: Medium

分數: 5.0

CVSS v2

風險因素: Medium

基本分數: 5.5

時間分數: 4.3

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

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

CVSS v3

風險因素: High

基本分數: 7.1

時間分數: 6.4

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

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

弱點資訊

CPE: cpe:/o:canonical:ubuntu_linux:20.04:-:esm, p-cpe:/a:canonical:ubuntu_linux:libnanopb-dev, p-cpe:/a:canonical:ubuntu_linux:nanopb

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

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2023/5/30

弱點發布日期: 2020/11/25

參考資訊

CVE: CVE-2020-26243, CVE-2021-21401

USN: 6121-1