Ubuntu 20.04 ESM:Nanopb 漏洞 (USN-6121-1)

high Nessus 插件 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 内的子消息字段的类型设置为“FT_POINTER”。这样,整个子消息将得到动态分配,并且不会执行有问题的代码。 3) 为 nanopb 使用 arena 分配器,以确保之后可以释放所有内存。
(CVE-2020-26243)

-Nanopb 是 ansi C 中代码大小的 Protocol Buffers。在 0.3.9.8 和 0.4.5 之前的版本中,如果消息类型包含“free()”或“realloc()”,“oneof”直接包含指针字段和非指针字段,则解码该消息可导致无效“oneof”字段。如果消息数据首先包含非指针字段,然后是指针字段,则非指针字段的数据会被错误地视为指针值。此类消息数据在普通消息中很少见,但在解析不受信任的数据时会产生影响。已在版本 0.3.9.8 和 0.4.5 中修复此问题。请参阅引用的 GitHub 安全公告以获取更多信息以及变通方案。(CVE-2021-21401)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

更新受影响的 libnanopb-dev 和/或 nanopb 程序包。

另见

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

插件详情

严重性: 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