Ubuntu 20.04 LTS:Linux 内核 (OEM) 漏洞 (USN-4948-1)

high Nessus 插件 ID 149407

简介

远程 Ubuntu 主机缺少一个或多个安全更新。

描述

远程 Ubuntu 20.04 LTS 主机上安装的一个程序包受到 USN-4948-1 公告中提及的多个漏洞影响。

- 在 Linux 内核中发现一个漏洞,其中 llcp_sock_bind() 中的 refcount 泄漏会造成释放后使用,进而可能导致权限升级。(CVE-2020-25670)

- 在 Linux 内核中发现一个漏洞,其中 llcp_sock_connect() 中的 refcount 泄漏会造成释放后使用,进而可能导致权限升级。(CVE-2020-25671)

- 在 llcp_sock_connect 的 Linux 内核中发现内存泄漏漏洞 (CVE-2020-25672)

- XSA-365 修复程序包含指针初始化,以便后续清理代码不会使用未初始化或过时的值。此初始化的程度过深,并且在某些情况下还可能覆盖需要清理的指针。缺少清理将会导致持久性授权泄漏。这种泄漏又会阻止在相应客户机死机后进行全面清理,从而留下僵尸域。应用了 XSA-365 修复程序的所有 Linux 版本都容易受到影响。
XSA-365 的分类至少会影响 3.11 之后的版本。(CVE-2021-28688)

- 在 Linux 内核 5.11.8 及之前的所有版本中发现一个问题。攻击者可以借此造成拒绝服务(死锁),这是因为 exit 可能正在等待停放 SQPOLL 线程,而同时 SQPOLL 线程正在等待信号启动,也称为 CID-3ebba796fa25。(CVE-2021-28951)

- 在 Linux 内核 5.11.8 及之前的版本中发现问题。当遇到非预期的端口 ID 号时,sound/soc/qcom/sdm845.c soundwire 设备驱动程序会发生缓冲区溢出,即 CID-1c668e1c0a0f。此问题已在 5.12-rc4 版本中得到修正 (CVE-2021-28952)

- 在 Linux 内核 5.11.8 及之前版本的 fs/btrfs/ctree.c 中,get_old_root 中存在争用条件。该条件允许攻击者造成拒绝服务 (BUG),这是在进行克隆操作之前未对盘区缓冲区进行锁定所致,也称为 CID-dbcc7d57bffc。(CVE-2021-28964)

- 在某些 Haswell CPU 上,在 Linux 内核 5.11.8 及之前版本的 arch/x86/events/intel/ds.c 的 intel_pmu_drain_pebs_nhm 中,由于 PEBS 记录中的 PEBS 状态处理不当,用户空间应用程序(例如 perf-fuzzer)可导致系统崩溃,也称为 CID-d88d05a9e0b6。(CVE-2021-28971)

- 在 Linux 内核 5.11.8 及之前版本的 drivers/pci/hotplug/rpadlpar_sysfs.c 中,当从用户空间向驱动程序写入新设备名称时,RPA PCI 热插拔驱动程序存在用户可容忍的缓冲区溢出漏洞,该漏洞允许用户空间直接将数据写入内核堆栈框架。发生这种情况的原因是 add_slot_store 和 remove_slot_store 未正确处理 drc_name“0”终止,也称为 CID-cc7a0bb058b8。(CVE-2021-28972)

- 在 Linux 内核 5.11.10 之前的所有版本中发现一个问题。攻击者可利用 Freescale Gianfar 以太网驱动程序中的 drivers/net/ethernet/freescale/gianfar.c 造成系统崩溃,这是因为在使用 jumbo 数据包并且启用了 NAPI 时,在涉及 rx 队列溢出的情况下,会计算负片段大小,亦即 CID -d8861bab48b6。(CVE-2021-29264)

- 在 Linux 内核 5.11.9 之前的版本中发现一个问题。drivers / vhost / vdpa.c 存在释放后使用,这是因为重新打开字符设备时,v->config_ctx 具有无效值,也称为 CID-f6bbf0010ba0。
(CVE-2021-29266)

- 在 Linux 内核 5.11.11 之前版本中发现一个问题。net/tipc/node.c 中的 tipc_nl_retrieve_key 未正确验证某些数据大小,也称为 CID-0217ed2848e8。(CVE-2021-29646)

- 在 Linux 内核 5.11.11 之前版本中发现一个问题。net/qrtr/qrtr.c 中的 qrtr_recvmsg 允许攻击者从内核内存获取敏感信息,这是因为部分数据结构未初始化,也称为 CID-50535249f624。(CVE-2021-29647)

- 在 Linux 内核 5.11.11 之前的版本中发现问题。用户模式驱动程序 (UMD) 中存在 copy_process() 内存泄漏,这与 kernel/usermode_driver.c 和 kernel/bpf/preload/bpf_preload_kern.c 中缺少清除步骤有关,也称为 CID-f60a85cad677。(CVE-2021-29649)

- 在 Linux 内核 5.11.11 之前的版本中发现问题。netfilter 子系统允许攻击者造成拒绝服务(错误),因为 net/netfilter/x_tables.c 和 include/linux/netfilter/x_tables.h 在分配新的表值时缺少完整的内存屏障,也称为 CID-175e476b8cdf。
(CVE-2021-29650)

- 在 5.11.12 之前的 Linux 内核中,arch/x86/kvm/svm/nested.c 存在释放后使用漏洞,如果有嵌套的客户机,AMD KVM 客户机可绕过主机 OS MSR 的访问控制,也称为 CID-a58d9166a756。发生这种情况的原因在于与 nested_svm_vmrun 中的 VMCB12 双重提取相关的 TOCTOU 争用条件。
(CVE-2021-29657)

- 在 Linux 内核 5.12 之前版本中,发现多设备驱动程序模块中 drivers/md/dm-ioctl.c 的 list_devices 中存在越界 (OOB) 内存写入缺陷。由于边界检查失败,具有特殊用户 (CAP_SYS_ADMIN) 权限的攻击者可获取越界内存访问权限,从而导致系统崩溃或内部内核信息泄露。此漏洞最大的威胁在于系统可用性。(CVE-2021-31916)

- 在 Linux 内核的 Nosy 驱动程序中发现一个缺陷。利用此问题,可将设备两次插入到双重链接列表中,从而导致在删除其中一个设备时发生释放后使用。此漏洞对机密性、完整性和系统可用性威胁最大。内核 5.12-rc6 之前的版本会受到影响 (CVE-2021-3483)

- Linux 内核中的 eBPF RINGBUF bpf_ringbuf_reserve() 函数未检查分配的大小是否小于 ringbuf 大小,攻击者可利用此漏洞,在内核中进行越界写入,进而执行任意代码。此问题已通过提交项 4b81ccebaeee(bpf, ringbuf:拒绝保留超过 ringbuf 大小的缓冲区)(v5.13-rc4) 修复,并向后移植到 v5.12.4、v5.11.21 和 v5.10.37 的稳定内核中。此问题是通过 457f44363a88(bpf:实现 BPF 环形缓冲区及其验证程序支持)(v5.8-rc1) 引入的。(CVE-2021-3489)

- Linux 内核中按位操作(AND、OR 和 XOR)的 eBPF ALU32 边界跟踪未正确更新 32 位边界,这可能在 Linux 内核中造成越界读取和写入,继而导致任意代码执行问题。此问题已通过提交 049c4e13714e(bpf:有关按位运算的 alu32 const subreg 边界跟踪修复)(v5.13-rc4) 解决,并已向后移植到 5.12.4、5.11.21 和 5.10.37 稳定版内核。AND/OR 问题是在提交 3f50f132d840(bpf:验证器,执行显式 ALU32 边界跟踪)(5.7-rc1) 中引入,XOR 变体是在 2921c90d4718(bpf:修复验证器我发使用 xor 运算的问题)( 5.10-rc1) 中引入。(CVE-2021-3490)

- Linux 内核中的 io_uring 子系统允许在 PROVIDE_BUFFERS 运算中绕过 MAX_RW_COUNT 限制,从而导致读取 /proc/<PID>/mem 时在 mem_rw 中使用负值。
此问题可用于引发堆溢出,继而导致在内核中执行任意代码。已通过提交 d1f82808877b(io_uring:在提供缓冲区时截断大于 MAX_RW_COUNT 的长度)(v5.13-rc1) 解决,并已向后移植到 5.12.4、5.11.21 和 5.10.37 稳定版内核。此问题是在 ddf0322db79c(io_uring:添加 IORING_OP_PROVIDE_BUFFERS) (v5.7-rc1) 中引入。(CVE-2021-3491)

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

解决方案

更新受影响的 kernel 程序包。

另见

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

插件详情

严重性: High

ID: 149407

文件名: ubuntu_USN-4948-1.nasl

版本: 1.10

类型: local

代理: unix

发布时间: 2021/5/12

最近更新时间: 2024/1/9

支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

风险信息

VPR

风险因素: Critical

分数: 9.0

CVSS v2

风险因素: High

基本分数: 7.2

时间分数: 6.3

矢量: CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C

CVSS 分数来源: CVE-2021-3491

CVSS v3

风险因素: High

基本分数: 8.8

时间分数: 8.4

矢量: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:H/RL:O/RC:C

漏洞信息

CPE: cpe:/o:canonical:ubuntu_linux:20.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-image-5.10.0-1026-oem

必需的 KB 项: Host/cpu, Host/Debian/dpkg-l, Host/Ubuntu, Host/Ubuntu/release

可利用: true

易利用性: Exploits are available

补丁发布日期: 2021/5/11

漏洞发布日期: 2021/3/20

可利用的方式

Core Impact

Metasploit (Linux eBPF ALU32 32-bit Invalid Bounds Tracking LPE)

参考资料信息

CVE: CVE-2020-25670, CVE-2020-25671, CVE-2020-25672, CVE-2021-28688, CVE-2021-28951, CVE-2021-28952, CVE-2021-28964, CVE-2021-28971, CVE-2021-28972, CVE-2021-29264, CVE-2021-29266, CVE-2021-29646, CVE-2021-29647, CVE-2021-29649, CVE-2021-29650, CVE-2021-29657, CVE-2021-31916, CVE-2021-3483, CVE-2021-3489, CVE-2021-3490, CVE-2021-3491

USN: 4948-1