CentOS 9:kernel-5.14.0-472.el9

medium Nessus 插件 ID 201850

简介

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

描述

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

- 在 Linux 内核中,以下漏洞已得到解决:xsk:修复 ZC XDP 的多缓冲区 BPF 帮助程序的使用 目前,当通过 bpf_xdp_adjust_tail() 缩小数据包并将内存类型设置为 MEM_TYPE_XSK_BUFF_POOL 时,会发生空指针取消引用:[1136314.192256] BUG: kernel NULL pointer dereference, address: 0000000000000034 [1136314.203943] #PF: supervisor read access in kernel mode [1136314.213768] #PF: error_code(0x0000) - not-present page [1136314.223550] PGD 0 P4D 0 [1136314.230684] Oops: 0000 [#1] PREEMPT SMP NOPTI [1136314.239621] CPU: 8 PID: 54203 Comm: xdpsock Not tainted 6.6.0+ #257 [1136314.250469] Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0008.031920191559 03/19/2019 [1136314.265615] RIP: 0010:__xdp_return+0x6c/0x210 [1136314.274653] Code: ad 00 48 8b 47 08 49 89 f8 a8 01 0f 85 9b 01 00 00 0f 1f 44 00 00 f0 41 ff 48 34 75 32 4c 89 c7 e9 79 cd 80 ff 83 fe 03 75 17 <f6> 41 34 01 0f 85 02 01 00 00 48 89 cf e9 22 cc 1e 00 e9 3d d2 86 [1136314.302907] RSP: 0018:ffffc900089f8db0 EFLAGS: 00010246 [1136314.312967] RAX: ffffc9003168aed0 RBX: ffff8881c3300000 RCX: 0000000000000000 [1136314.324953] RDX: 0000000000000000 RSI: 0000000000000003 RDI: ffffc9003168c000 [1136314.336929] RBP: 0000000000000ae0 R08: 0000000000000002 R09: 0000000000010000 [1136314.348844] R10: ffffc9000e495000 R11: 0000000000000040 R12: 0000000000000001 [1136314.360706] R13:
0000000000000524 R14: ffffc9003168aec0 R15: 0000000000000001 [1136314.373298] FS: 00007f8df8bbcb80(0000) GS:ffff8897e0e00000(0000) knlGS:0000000000000000 [1136314.386105] CS: 0010 DS: 0000 ES: 0000 CR0:
0000000080050033 [1136314.396532] CR2: 0000000000000034 CR3: 00000001aa912002 CR4: 00000000007706f0 [1136314.408377] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [1136314.420173] DR3:
0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [1136314.431890] PKRU: 55555554 [1136314.439143] Call Trace: [1136314.446058] <IRQ> [1136314.452465] ? __die+0x20/0x70 [1136314.459881] ? page_fault_oops+0x15b/0x440 [1136314.468305] ? exc_page_fault+0x6a/0x150 [1136314.476491] ? asm_exc_page_fault+0x22/0x30 [1136314.484927] ? __xdp_return+0x6c/0x210 [1136314.492863] bpf_xdp_adjust_tail+0x155/0x1d0 [1136314.501269] bpf_prog_ccc47ae29d3b6570_xdp_sock_prog+0x15/0x60 [1136314.511263] ice_clean_rx_irq_zc+0x206/0xc60 [ice] [1136314.520222] ? ice_xmit_zc+0x6e/0x150 [ice] [1136314.528506] ice_napi_poll+0x467/0x670 [ice] [1136314.536858] ? ttwu_do_activate.constprop.0+0x8f/0x1a0 [1136314.546010] __napi_poll+0x29/0x1b0 [1136314.553462] net_rx_action+0x133/0x270 [1136314.561619] __do_softirq+0xbe/0x28e [1136314.569303] do_softirq+0x3f/0x60 这是来自 __xdp_return() 调用,其中 xdp_buff 参数传递为 NULL,该参数应该由 xsk_buff_free() 调用使用。为了正确解决这个问题,在 ZC 案例中,需要从 xskb_list 中删除代表要删除的片段的节点。引入适当的 xsk 帮助程序来执行此类节点操作,并在 bpf_xdp_adjust_tail() 中相应地使用这些程序。(CVE-2024-26611)

- 在 Linux 内核中,以下漏洞已得到解决:ext4:避免在 ext4_mb_find_by_goal() 中分配来自损坏组的区块 在组锁的保护下应用用于检查组的区块位图是否损坏的逻辑,以避免从具有损坏区块位图的组中分配区块。(CVE-2024-26772)

- 在 Linux 内核中,以下漏洞已得到解决:ext4:修复在线调整大小期间的损坏 我们发现,在对大于 16 TiB、区块大小为 4k 的文件系统进行在线调整时发生损坏。当区块数超过 2^32 时,mke2fs 默认关闭 resize_inode。为了方便起见,可以通过明确关闭 resize_inode 以在较小的文件系统上重现该问题。执行在线调整大小时,超过 8 GiB(此设置中元区块组的大小)会导致发生损坏:dev=/dev/<some_dev> # should be >= 16 GiB mkdir -p /corruption /sbin/mke2fs -t ext4 -b 4096 -O ^resize_inode $dev $((2 * 2**21 - 2**15)) mount -t ext4 $dev /corruption dd if=/dev/zero bs=4096 of=/corruption/test count=$((2*2**21 - 4*2**15)) sha1sum /corruption/test # 79d2658b39dcfd77274e435b0934028adafaab11 /corruption/test /sbin/resize2fs $dev $((2*2**21)) # 删除页面缓存以强制从磁盘重新加载区块 echo 1 > /proc/sys/vm/drop_caches sha1sum /corruption/test # 3c2abc63cbf1a94c9e6977e0fbd72cd832c4d5c3 /corruption/test 2^21 = 2^15*2^6 等于 8 GiB,其中 2^15 是每个块组的块数,2^6 是组成元块组的块组数。最后的校验和可能会有所不同,具体取决于文件在物理块中的布局方式。实际损坏发生在物理区块 63*2^15 = 2064384 处,这将是元区块群组的区块描述符的备份位置。在在线调整大小期间,文件系统将从 s_first_meta_bg 开始转换为 meta_bg,在示例中为 2 - 表示 16 GiB 之后的所有块组。
但是,在 ext4_flex_group_add 中,我们可能会添加还不属于首个元块组一部分的块组。在重现程序中,我们通过从元区块群组的起始点减去整个区块群组的大小来实现此目的。更新备份区块群组描述符以遵循 non-meta_bg 布局时,必须考虑这一点。补丁是添加一个测试,以判断要添加的组是否已经属于元块组。(CVE-2024-35807)

- 在 Linux 内核中,以下漏洞已得到解决:block:修复 blk_ioctl_discard() 中的溢出 未对 blk_ioctl_discard() 中的“start + len”溢出进行检查。如果提交带有以下参数的废弃 ioctl,则会发生挂起任务:start = 0x80000000000ff000, len = 0x8000000000fff000; 现在添加溢出验证。(CVE-2024-36917)

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

解决方案

更新 CentOS 9 Stream bpftool 程序包。

另见

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

插件详情

严重性: Medium

ID: 201850

文件名: centos9_kernel-5_14_0-472_65212.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2024/7/3

最近更新时间: 2024/12/16

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

风险信息

VPR

风险因素: Medium

分数: 4.4

CVSS v2

风险因素: Medium

基本分数: 4.6

时间分数: 3.4

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

CVSS 分数来源: CVE-2024-26611

CVSS v3

风险因素: Medium

基本分数: 5.5

时间分数: 4.8

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

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

漏洞信息

CPE: 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-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, 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-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, 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-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-uki-virt

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

易利用性: No known exploits are available

补丁发布日期: 2024/6/27

漏洞发布日期: 2024/2/29

参考资料信息

CVE: CVE-2024-26611, CVE-2024-26772, CVE-2024-35807, CVE-2024-36917