CentOS 9:kernel-5.14.0-479.el9

high Nessus 插件 ID 202393

简介

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

描述

远程 CentOS Linux 9 主机上安装的多个程序包受到 kernel-5.14.0-479.el9 版本变更日志中提及的多个漏洞影响。

- 在 Linux 内核中,以下漏洞已修复:can:j1939:j1939_netdev_start():修复了 rx_kref of j1939_priv 的 UAF。它将为 j1939_priv 的 rx_kref 触发 UAF,如下所示。cpu0 cpu1 j1939_sk_bind(socket0, ndev0, ...) j1939_netdev_start j1939_sk_bind(socket1, ndev0, ...) j1939_netdev_start j1939_priv_set j1939_priv_get_by_ndev_locked j1939_jsk_add ..... j1939_netdev_stop kref_put_lock(&priv->rx_kref, ...) kref_get(&priv->rx_kref, ...) REFCOUNT_WARN(addition on 0;...) ==================================================== refcount_t:在 0 上增加;释放后使用。警告:
CPU:1 PID:20874 在 lib/refcount.c:25 refcount_warn_saturate+0x169/0x1e0 RIP:
0010:refcount_warn_saturate+0x169/0x1e0 调用追踪:j1939_netdev_start+0x68b/0x920 j1939_sk_bind+0x426/0xeb0 ? security_socket_bind+0x83/0xb0 rx_kref's kref_get() 和 kref_put() 应使用 j1939_netdev_lock 进行保护。(CVE-2021-47459)

- 在 Linux 内核中,以下漏洞已修复:net/sched:修复了设备递归时的镜像死锁。当在分类出口 qdisc 上使用镜像操作,且数据包被镜像或重定向至自身时,我们会遭遇 qdisc 锁定死锁。请参阅下面的跟踪。[...为简短起见,已删除其他信息...] [ 82.890906] [ 82.890906] ========================== ================== [ 82.890906] 警告:
检测到可能的递归锁定 [ 82.890906] 6.8.0-05205-g77fadd89fe2d-dirty #213 受污染:G W [82.890906] -------------------------------------------- [ 82.890906] ping/418 正在尝试获取锁定:[82.890906] ffff888006994110 (&sch->q.lock){+.-.}-{3:3},位置:__dev_queue_xmit+0x1778/0x3550 [ 82.890906] [82.890906] 但任务正在保持锁定:[ 82.890906] ffff888006994110 (&sch->q.lock){+.-.}- {3:3},位置:
__dev_queue_xmit+0x1778/0x3550 [ 82.890906] [ 82.890906] 可能有助于调试此问题的其他信息:[82.890906] 可能不安全的锁定方案:[ 82.890906] [ 82.890906] CPU0 [ 82.890906] ---- [ 82.890906] lock(&sch->q.lock);[ 82.890906] lock(&sch->q.lock);[ 82.890906] [ 82.890906] ***死锁*** [82.890906] [...为简短起见,已删除其他信息...] 示例设置 (eth0->eth0) 以重新创建 tc qdisc add dev eth0 root handle 1: htb default 30 tc filter add dev eth0 handle 1: protocol ip prio 2 matchall \ action mirred egress redirect dev eth0 另一个示例(eth0->eth1->eth0) 以重新创建 tc qdisc add dev eth0 root handle 1: htb default 30 tc filter add dev eth0 handle 1: protocol ip prio 2 matchall \ action mirred egress redirect dev eth1 tc qdisc add dev eth1 root handle 1: htb default 30 tc filter add dev eth1 handle 1: protocol ip prio 2 matchall \ action mirred egress redirect dev eth0 通过在输入根 qdisc 后向 struct Qdisc set 添加所有者字段 (CPU id),我们已修复此问题。softirq 第二次进入时,如果 qdisc 所有者为同一 CPU,将丢弃该数据包以中断循环。(CVE-2024-27010)

- 在 Linux 内核中,以下漏洞已修复:tty: n_gsm:修复 gsm0_receive() 中可能的越界。假设:- A 端在基本选项模式中配置 n_gsm。- B 端发送数据长度为 1 的基本选项模式帧的标头。- A 端切换到高级选项模式。
- B 端发送超过 gsm->len 的 2 个数据字节。原因:高级选项模式中不使用 gsm->len。- A 端切换到基本选项模式。- B 端持续发送,直到 gsm0_receive() 写入超过 gsm->buf。原因:重新配置后 gsm->state 和 gsm->len 均未重置。通过将 gsm->count 与 gsm->len 的比较从等于更改为小于,可以修复此问题。还添加了针对 gsm0_receive() 和 gsm1_receive() 中常量 MAX_MRU 的上限检查,以针对 gsm->len 和 gsm->mru 的内存损坏进行强化。所有其他检查仍然存在,因为我们仍需根据用户配置和实际负载大小限制数据。(CVE-2024-36016)

- 在 Linux 内核中,以下漏洞已修复:rtnetlink:更正嵌套的 IFLA_VF_VLAN_LIST 属性验证。假定嵌套 IFLA_VF_VLAN_LIST 内的每个属性都是 struct ifla_vf_vlan_info,因此此类属性的大小需要至少为 sizeof(struct ifla_vf_vlan_info),即 14 个字节。当前 do_setvfinfo 中的大小验证是针对 NLA_HDRLEN(4 字节),小于 sizeof(struct ifla_vf_vlan_info),因此该验证是不够的,可能将过小的属性转换为 struct ifla_vf_vlan_info,这可能导致在访问 ivvl 中已保存(转换)的条目时出现越界读取访问。 (CVE-2024-36017)

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

解决方案

更新 CentOS 9 Stream bpftool 程序包。

另见

https://kojihub.stream.centos.org/koji/buildinfo?buildID=65628

插件详情

严重性: High

ID: 202393

文件名: centos9_kernel-5_14_0-479_65628.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2024/7/15

最近更新时间: 2025/1/15

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

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 6.8

时间分数: 5

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

CVSS 分数来源: CVE-2021-47459

CVSS v3

风险因素: High

基本分数: 7.8

时间分数: 6.8

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

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

漏洞信息

CPE: p-cpe:/a:centos:centos:kernel-modules-partner, p-cpe:/a:centos:centos:kernel-64k-modules-extra, p-cpe:/a:centos:centos:kernel-64k-modules-core, p-cpe:/a:centos:centos:kernel-64k-modules-partner, p-cpe:/a:centos:centos:kernel-64k-modules, p-cpe:/a:centos:centos:kernel-rt-devel, p-cpe:/a:centos:centos:kernel-rt-modules-extra, p-cpe:/a:centos:centos:python3-perf, p-cpe:/a:centos:centos:kernel-64k-debug-modules-partner, p-cpe:/a:centos:centos:kernel-zfcpdump, p-cpe:/a:centos:centos:kernel-64k-debug-core, p-cpe:/a:centos:centos:kernel-64k-debug-modules-internal, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-partner, cpe:/a:centos:centos:9, p-cpe:/a:centos:centos:kernel-64k-debug-modules, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-extra, p-cpe:/a:centos:centos:kernel-rt-devel-matched, p-cpe:/a:centos:centos:kernel-rt-modules-core, p-cpe:/a:centos:centos:kernel-debug-devel, p-cpe:/a:centos:centos:kernel-devel, p-cpe:/a:centos:centos:kernel-64k-debug, p-cpe:/a:centos:centos:libperf, p-cpe:/a:centos:centos:kernel-rt-core, p-cpe:/a:centos:centos:kernel-zfcpdump-devel-matched, p-cpe:/a:centos:centos:kernel-debug-devel-matched, p-cpe:/a:centos:centos:kernel-64k-devel, p-cpe:/a:centos:centos:kernel-headers, p-cpe:/a:centos:centos:kernel-rt-modules, p-cpe:/a:centos:centos:kernel-64k-debug-devel-matched, p-cpe:/a:centos:centos:kernel-debug-core, p-cpe:/a:centos:centos:kernel-tools-libs-devel, p-cpe:/a:centos:centos:kernel-64k-core, p-cpe:/a:centos:centos:kernel-debug-modules-internal, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-core, p-cpe:/a:centos:centos:kernel-rt-debug-modules-core, p-cpe:/a:centos:centos:kernel-modules-extra, p-cpe:/a:centos:centos:kernel-selftests-internal, p-cpe:/a:centos:centos:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-debug-modules, p-cpe:/a:centos:centos:rv, p-cpe:/a:centos:centos:kernel-zfcpdump-modules, p-cpe:/a:centos:centos:kernel-64k-debug-devel, p-cpe:/a:centos:centos:perf, p-cpe:/a:centos:centos:kernel-rt-debug-kvm, p-cpe:/a:centos:centos:kernel-modules, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-internal, p-cpe:/a:centos:centos:bpftool, p-cpe:/a:centos:centos:kernel-rt-debug-modules-internal, p-cpe:/a:centos:centos:kernel-64k-devel-matched, p-cpe:/a:centos:centos:kernel-64k-debug-modules-core, p-cpe:/a:centos:centos:kernel-rt-debug-devel, p-cpe:/a:centos:centos:kernel-modules-core, p-cpe:/a:centos:centos:kernel-core, p-cpe:/a:centos:centos:kernel-debug-modules-partner, p-cpe:/a:centos:centos:kernel-debug-modules-extra, p-cpe:/a:centos:centos:kernel-rt-debug-core, p-cpe:/a:centos:centos:kernel-devel-matched, p-cpe:/a:centos:centos:kernel-rt-debug-modules, p-cpe:/a:centos:centos:kernel, p-cpe:/a:centos:centos:kernel-debug-modules-core, p-cpe:/a:centos:centos:kernel-cross-headers, p-cpe:/a:centos:centos:kernel-rt-kvm, p-cpe:/a:centos:centos:kernel-rt-debug-modules-partner, p-cpe:/a:centos:centos:kernel-rt, p-cpe:/a:centos:centos:kernel-rt-modules-internal, p-cpe:/a:centos:centos:kernel-tools, p-cpe:/a:centos:centos:kernel-rt-debug-modules-extra, p-cpe:/a:centos:centos:kernel-debug-uki-virt, p-cpe:/a:centos:centos:kernel-rt-modules-partner, p-cpe:/a:centos:centos:kernel-rt-debug, p-cpe:/a:centos:centos:kernel-abi-stablelists, p-cpe:/a:centos:centos:kernel-rt-debug-devel-matched, p-cpe:/a:centos:centos:kernel-zfcpdump-core, p-cpe:/a:centos:centos:kernel-64k-debug-modules-extra, p-cpe:/a:centos:centos:kernel-zfcpdump-devel, p-cpe:/a:centos:centos:kernel-tools-libs, p-cpe:/a:centos:centos:libperf-devel, p-cpe:/a:centos:centos:kernel-64k, p-cpe:/a:centos:centos:kernel-64k-modules-internal, p-cpe:/a:centos:centos:kernel-ipaclones-internal, p-cpe:/a:centos:centos:kernel-debug, p-cpe:/a:centos:centos:rtla, p-cpe:/a:centos:centos:kernel-uki-virt

必需的 KB 项: Host/local_checks_enabled, Host/cpu, Host/CentOS/release, Host/CentOS/rpm-list

易利用性: No known exploits are available

补丁发布日期: 2024/7/11

漏洞发布日期: 2024/4/27

参考资料信息

CVE: CVE-2021-47459, CVE-2024-27010, CVE-2024-36016, CVE-2024-36017, CVE-2024-36244