CentOS 9: kernel-5.14.0-474.el9

critical Nessus 插件 ID 201993

简介

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

描述

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

- 拒绝原因:此 CVE ID 已被其 CVE Numbering Authority 拒绝或撤回。
(CVE-2023-52651)

- 在 Linux 内核中,已解决以下漏洞:io_uring:删除与 SCM_RIGHTS 相关的任何代码。我们停止支持通过 SCM_RIGHTS 传递 io_uring fds 后,这部分代码已成为死代码,请将其删除。(CVE-2023-52656)

- 在 Linux 内核中,已解决以下漏洞:wifi:mt76:mt7921e: 修复 free_irq() 中的释放后使用问题。在 commit a304e1b82808([PATCH] 调试共享的 irq)中,测试可确保共享的 irq 处理程序应该能够在取消注册之后处理非预期事件。为了解决这个问题,我们引入 MT76_REMOVED 标志,将设备标记为已移除,从而阻止在注销后对其资源进行任何进一步访问。BUG: KASAN: use-after-free in mt7921_irq_handler+0xd8/0x100 [mt7921e] Read of size 8 at addr ffff88824a7d3b78 by task rmmod/11115 CPU: 28 PID: 11115 Comm: rmmod Tainted: G W L 5.17.0 #10 Hardware name: Micro-Star International Co., Ltd. MS-7D73/MPG B650I EDGE WIFI (MS-7D73),BIOS 1.81 01/05/2024 调用跟踪: <TASK> dump_stack_lvl+0x6f/0xa0 print_address_description.constprop.0+0x1f/0x190? mt7921_irq_handler+0xd8/0x100 [mt7921e] ? mt7921_irq_handler+0xd8/0x100 [mt7921e] kasan_report.cold+0x7f/0x11b? mt7921_irq_handler+0xd8/0x100 [mt7921e] mt7921_irq_handler+0xd8/0x100 [mt7921e] free_irq+0x627/0xaa0 devm_free_irq+0x94/0xd0 ? devm_request_any_context_irq+0x160/0x160 ? kobject_put+0x18d/0x4a0 mt7921_pci_remove+0x153/0x190 [mt7921e] pci_device_remove+0xa2/0x1d0
__device_release_driver+0x346/0x6e0 driver_detach+0x1ef/0x2c0 bus_remove_driver+0xe7/0x2d0 ?
__check_object_size+0x57/0x310 pci_unregister_driver+0x26/0x250 __do_sys_delete_module+0x307/0x510 ? free_module+0x6a0/0x6a0 ? fpregs_assert_state_consistent+0x4b/0xb0 ? rcu_read_lock_sched_held+0x10/0x70 ? syscall_enter_from_user_mode+0x20/0x70 ? trace_hardirqs_on+0x1c/0x130 do_syscall_64+0x5c/0x80 ? trace_hardirqs_on_prepare+0x72/0x160 ? do_syscall_64+0x68/0x80 ? trace_hardirqs_on_prepare+0x72/0x160 entry_SYSCALL_64_after_hwframe+0x44/0xae (CVE-2024-26892)

- 解决了 Linux 内核中的以下漏洞:wifi:ath9k:延迟 ath9k_wmi_event_tasklet() 的全部过程,直到 init 完成 ath9k_htc 中使用的 ath9k_wmi_event_tasklet() 假设在其运行时所有数据结构都已经完全初始化。但是,由于事物初始化的顺序,不能保证会如此,因为在 ath9k 驱动程序初始化完成之前,设备就会暴露给 USB 子系统。我们已经在提交中对此进行了部分修复:8b3046abc99e (ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet())。然而,此提交只中止活动 tasklet 中的 WMI_TXSTATUS_EVENTID 指令,将其与 TX 结构中的初始化完成位配对。syzbot 似乎也设法为其他一个命令触发争用,因此我们仅移动现有同步位以覆盖整个 tasklet(在 ath9k_htc_probe_device() 的末尾进行设置,而不是在 ath9k_tx_init() 内部进行设置)。(CVE-2024-26897)

- 在 Linux 内核中,已解决以下漏洞:wifi:brcm80211:处理 pmk_op 分配失败 如果物理内存耗尽,brcmf_pmksa_v3_op() 中的 kzalloc() 将返回 null。因此,如果取消引用 null 值,就会发生空指针取消引用缺陷。退回
-ENOMEM 来自 brcmf_pmksa_v3_op() (如果 pmk_op 的 kzalloc() 失败)。(CVE-2024-27048)

- 在 Linux 内核中,已解决以下漏洞:wifi:mt76:mt7925e:修复 free_irq() 中的释放后使用。在 commit a304e1b82808([PATCH] 调试共享的 irq)中,测试可确保共享的 irq 处理程序应该能够在取消注册之后处理非预期事件。对于这种情况,我们应用 MT76_REMOVED 标记以指示设备已被删除,并且不会再遇到资源访问问题。(CVE-2024-27049)

- 在 Linux 内核中,已解决以下漏洞:wifi:rtl8xxxu:为 c2hcmd_work 添加 cancel_work_sync() 驱动程序停止时,工作队列可能仍在运行。为避免释放后使用,请在 rtl8xxxu_stop() 中调用 cancel_work_sync()。(CVE-2024-27052)

- 在 Linux 内核中,已解决以下漏洞:wifi:iwlwifi:mvm:不要为 GTK 设置 MFP 标记 固件不需要 GTK 的 MFP 标记;它甚至可以使固件崩溃。
如果 AP 配置了:群组密码 TKIP 和 MFPC。我们会发送 GTK with cipher = TKIP 和 MFP,这当然是不可能的。(CVE-2024-27434)

- 在 Linux 内核中,已解决以下漏洞:wifi:mac80211:检查/清除 non-4addr sta VLAN 变更的 fast rx 到 VLAN 的 netdev 当将 VLAN 中站点迁移并在此后删除 VLAN,这可能造成释放后使用缺陷。此问题可在 VLAN 变更后立即调用 ieee80211_check_fast_rx 修复。(CVE-2024-35789)

- 在 Linux 内核中,已解决以下漏洞:wifi:iwlwifi:dbg-tlv:确保 NUL 终止 iwl_fw_ini_debug_info_tlv 用作字符串,因此我们必须在使用该字符串之前确保该字符串已正确终止。(CVE-2024-35845)

- 在 Linux 内核中,已解决以下漏洞:wifi:iwlwifi: mvm:rfi:修复了潜在的响应泄漏 如果 rx 负载长度检查失败,或者 kmemdup() 失败,我们仍需要释放命令响应。修复该问题。(CVE-2024-35912)

- 在 Linux 内核中,已解决以下漏洞:wifi:iwlwifi:mvm:选择 SESSION_PROTECTION_NOTIF 的版本 当我们想知道是应该在 struct iwl_mvm_session_prot_notif 中查找 mac_id 还是 link_id 时,我们应该查看 SESSION_PROTECTION_NOTIF 版本。这会造成警告:警告:CPU: 0 PID: 11403 at drivers/net/wireless/intel/iwlwifi/mvm/time-event.c:959 iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] RIP:
0010:iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] Code: 00 49 c7 84 24 48 07 00 00 00 00 00 00 41 c6 84 24 78 07 00 00 ff 4c 89 f7 e8 e9 71 54 d9 e9 7d fd ff ff 0f 0b e9 23 fe ff ff <0f> 0b e9 1c fe ff ff 66 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 RSP: 0018:ffffb4bb00003d40 EFLAGS: 00010202 RAX:
0000000000000000 RBX: ffff9ae63a361000 RCX: ffff9ae4a98b60d4 RDX: ffff9ae4588499c0 RSI: 0000000000000305 RDI: ffff9ae4a98b6358 RBP: ffffb4bb00003d68 R08: 0000000000000003 R09: 0000000000000010 R10:
ffffb4bb00003d00 R11: 000000000000000f R12: ffff9ae441399050 R13: ffff9ae4761329e8 R14: 0000000000000001 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff9ae7af400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055fb75680018 CR3:00000003dae32006 CR4:0000000000f70ef0 PKRU:55555554 调用跟踪: <IRQ> ? show_regs+0x69/0x80 ? __warn+0x8d/0x150 ? iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] ? report_bug+0x196/0x1c0 ? handle_bug+0x45/0x80 ? exc_invalid_op+0x1c/0xb0 ? asm_exc_invalid_op+0x1f/0x30 ? iwl_mvm_rx_session_protect_notif+0x333/0x340 [iwlmvm] iwl_mvm_rx_common+0x115/0x340 [iwlmvm] iwl_mvm_rx_mq+0xa6/0x100 [iwlmvm] iwl_pcie_rx_handle+0x263/0xa10 [iwlwifi] iwl_pcie_napi_poll_msix+0x32/0xd0 [iwlwifi] (CVE-2024-35913)

- 在 Linux 内核中,已解决以下漏洞:wifi:cfg80211:更仔细地检查 A-MSDU 格式 如果 A-MSDU 中看起来有另一个子帧但标头不完整,我们可以阅读数据越界,仅用于稍后丢弃。更仔细一点并检查子帧标头是否可以存在。(CVE-2024-35937)

- 在 Linux 内核中,已解决以下漏洞:wifi:ath11k:将 MHI 通道缓冲区长度减少到 8KB 目前,ath11k_mhi_config_qca6390 的 buf_len 字段被分配了 0,导致 MHI 使用默认大小 64KB 来分配通道缓冲区。在系统内存高度碎片化且不允许压缩或回收内存的某些情况下,这可能会失败。有一个由其造成的失败报告:kworker/u32:45: page allocation failure: order:4, mode:0x40c00(GFP_NOIO|__GFP_COMP), nodemask=(null),cpuset=/,mems_allowed=0 CPU: 0 PID:19318 Comm:
kworker/u32:45 未感染 6.8.0-rc3-1.gae4495f-default #1 openSUSE Tumbleweed (未发布) 493b6d5b382c603654d7a81fc3c144d59a1dfceb 工作队列:events_unbound async_run_entry_fn 调用跟踪:<TASK> dump_stack_lvl+0x47/0x60 warn_alloc+0x13a/0x1b0 ? srso_alias_return_thunk+0x5/0xfbef5 ?
__alloc_pages_direct_compact+0xab/0x210 __alloc_pages_slowpath.constprop.0+0xd3e/0xda0
__alloc_pages+0x32d/0x350 ? mhi_prepare_channel+0x127/0x2d0 [mhi 40df44e07c05479f7a6e7b90fba9f0e0031a7814]
__kmalloc_large_node+0x72/0x110 __kmalloc+0x37c/0x480 ? mhi_map_single_no_bb+0x77/0xf0 [mhi 40df44e07c05479f7a6e7b90fba9f0e0031a7814] ? mhi_prepare_channel+0x127/0x2d0 [mhi 40df44e07c05479f7a6e7b90fba9f0e0031a7814] mhi_prepare_channel+0x127/0x2d0 [mhi 40df44e07c05479f7a6e7b90fba9f0e0031a7814] __mhi_prepare_for_transfer+0x44/0x80 [mhi 40df44e07c05479f7a6e7b90fba9f0e0031a7814] ? __pfx_____mhi_prepare_for_transfer+0x10/0x10 [mhi 40df44e07c05479f7a6e7b90fba9f0e0031a7814] device_for_each_child+0x5c/0xa0 ? __pfx_pci_pm_resume+0x10/0x10 ath11k_core_resume+0x65/0x100 [ath11k a5094e22d7223135c40d93c8f5321cf09fd85e4e] ? srso_alias_return_thunk+0x5/0xfbef5 ath11k_pci_pm_resume+0x32/0x60 [ath11k_pci 830b7bfc3ea80ebef32e563cafe2cb55e9cc73ec] ? srso_alias_return_thunk+0x5/0xfbef5 dpm_run_callback+0x8c/0x1e0 device_resume+0x104/0x340 ? __pfx_dpm_watchdog_handler+0x10/0x10 async_resume+0x1d/0x30 async_run_entry_fn+0x32/0x120 process_one_work+0x168/0x330 worker_thread+0x2f5/0x410? __pfx_worker_thread+0x10/0x10 kthread+0xe8/0x120 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x50? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 </TASK> 实际上,这些缓冲区仅由 QMI 目标 -> 主机通信使用。对于 WCN6855 和 QCA6390,其最大数据包大小小于 6KB。因此,将 buf_len 字段更改为 8KB,这会在页面大小为 4KB 时导致 order 1 分配。通过这种方式,我们至少可以节省一些内存,并且可以降低这些情况下分配失败的可能性。经测试:WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30 (CVE-2024-35938)

- 在 Linux 内核中,已解决以下漏洞:wifi:rtw89:修复中止扫描时的空指针访问 在取消扫描期间,我们可以使用未扫描的 vif。使用实际扫描 vif 修复此问题。(CVE-2024-35946)

- 在 Linux 内核中,已解决以下漏洞:mm:在 page_cache_ra_order() 中使用 memalloc_nofs_save() 请参阅提交 f2c817bed58d(mm:在预读路径中使用 memalloc_nofs_save),确保 page_cache_ra_order() 不尝试回收文件备份的页面或者导致死锁,这是在测试 ext4 大 folio 时发现的问题。INFO:任务 DataXceiver for:7494 阻断的时间超过 120 秒。
echo 0 > /proc/sys/kernel/hung_task_timeout_secs 禁用此消息。 task:state:D stack:0 pid:7494 ppid:1 flags:0x00000200 调用跟踪: __switch_to+0x14c/0x240 __schedule+0x82c/0xdd0 schedule+0x58/0xf0 io_schedule+0x24/0xa0 __folio_lock+0x130/0x300 migrate_pages_batch+0x378/0x918 migrate_pages+0x350/0x700 compact_zone+0x63c/0xb38 compact_zone_order+0xc0/0x118 try_to_compact_pages+0xb0/0x280 __alloc_pages_direct_compact+0x98/0x248 __alloc_pages+0x510/0x1110 alloc_pages+0x9c/0x130 folio_alloc+0x20/0x78 filemap_alloc_folio+0x8c/0x1b0 page_cache_ra_order+0x174/0x308 ondemand_readahead+0x1c8/0x2b8 page_cache_async_ra+0x68/0xb8 filemap_readahead.isra.0+0x64/0xa8 filemap_get_pages+0x3fc/0x5b0 filemap_splice_read+0xf4/0x280 ext4_file_splice_read+0x2c/0x48 [ext4] vfs_splice_read.part.0+0xa8/0x118 splice_direct_to_actor+0xbc/0x288 do_splice_direct+0x9c/0x108 do_sendfile+0x328/0x468 __arm64_sys_sendfile64+0x8c/0x148 invoke_syscall+0x4c/0x118 el0_svc_common.constprop.0+0xc8/0xf0 do_el0_svc+0x24/0x38 el0_svc+0x4c/0x1f8 el0t_64_sync_handler+0xc0/0xc8 el0t_64_sync+0x188/0x190 (CVE-2024-36882)

- 在 Linux 内核中,已解决以下漏洞:wifi: iwlwifi: mvm: 防止删除时无效的 STA ID 防止 iwl_mvm_mld_rm_sta_id 中的无效站点 ID,因为那样会导致越界数组访问。这可以防止错误处理期间驱动程序进入错误状态时发生的问题。(CVE-2024-36921)

- 在 Linux 内核中,已解决以下漏洞:wifi: iwlwifi: 在锁定状态下读取 txq->read_ptr 如果在无锁定的情况下读取 txq->read_ptr,则可读取同一个值两次,然后获得锁定,并从有两个不同的位置,但至关重要的是,将同一个条目回收两次,从而导致 WARN_ONCE() 稍微晚一些。通过在锁定下读取 txq->read_ptr 来修复该问题。(CVE-2024-36922)

- 在 Linux 内核中,已解决以下漏洞:wifi: nl80211:不要释放 NULL 合并规则 如果解析失败,我们可以在此处取消引用空指针。(CVE-2024-36941)

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

解决方案

更新 CentOS 9 Stream bpftool 程序包。

另见

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

插件详情

严重性: Critical

ID: 201993

文件名: centos9_kernel-5_14_0-474_65347.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2024/7/9

最近更新时间: 2025/3/19

支持的传感器: 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-2024-36921

CVSS v3

风险因素: Critical

基本分数: 9.1

时间分数: 7.9

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

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

CVSS 分数来源: CVE-2024-35845

漏洞信息

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

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

易利用性: No known exploits are available

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

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

参考资料信息

CVE: CVE-2023-52651, CVE-2023-52656, CVE-2024-26892, CVE-2024-26897, CVE-2024-27048, CVE-2024-27049, CVE-2024-27052, CVE-2024-27434, CVE-2024-35789, CVE-2024-35845, CVE-2024-35912, CVE-2024-35913, CVE-2024-35937, CVE-2024-35938, CVE-2024-35946, CVE-2024-36882, CVE-2024-36921, CVE-2024-36922, CVE-2024-36941