• 公告ID (KylinSec-SA-2024-4990)

摘要:

kernel security update

安全等级: High

公告ID: KylinSec-SA-2024-4990

发布日期: 2025年7月19日

关联CVE: CVE-2024-46719   CVE-2024-46794   CVE-2024-46803   CVE-2024-46807   CVE-2024-47663   CVE-2024-47668   CVE-2024-47673   CVE-2024-47693   CVE-2024-47702   CVE-2024-47726   CVE-2024-49920   CVE-2024-50082   CVE-2024-50095   CVE-2024-50120   CVE-2024-50131   CVE-2024-50145   CVE-2024-50152   CVE-2024-50156   CVE-2024-50184   CVE-2024-50186  

  • 详细介绍

1. 漏洞描述

   

Linux内核,即操作系统核心本身。

安全修复:

在Linux内核中,以下漏洞已被修复:

usb: typec: ucsi: 修复跟踪中的空指针解引用

ucsi_register_altmode检查alt指针是否为IS_ERR,并将NULL视为有效。当未启用CONFIG_TYPEC_DP_ALTMODE时,ucsi_register_displayport返回NULL,导致跟踪中出现空指针解引用。与其返回NULL,不如在未启用CONFIG_TYPEC_DP_ALTMODE时调用typec_port_register_altmode以注册DisplayPort备用模式作为不可控模式。(CVE-2024-46719)

在Linux内核中,以下漏洞已被修复:

x86/tdx: 修复mmio_read()中的数据泄漏

mmio_read()函数通过TDVMCALL从VMM获取MMIO数据地址。Sean注意到mmio_read()无意中将栈上初始化变量(val)的值暴露给VMM。该变量仅作为输出值使用,最初无需传递给VMM。不要将*val的原始值发送给VMM。[dhansen: 澄清'val'的用途。](CVE-2024-46794)

在Linux内核中,以下漏洞已被修复:

drm/amdkfd: 在写入dbg_ev_file前检查调试陷阱是否启用

在中断上下文中,写入dbg_ev_file将由工作队列执行。这会导致在debug_trap_disable后执行写入dbg_ev_file,从而引发空指针访问。v2: 在将dbg_ev_file设置为NULL之前取消工作"debug_event_workarea"。(CVE-2024-46803)

在Linux内核中,以下漏洞已被修复:

drm/amd/amdgpu: 检查tbo资源指针

验证tbo资源指针,若为NULL则跳过。(CVE-2024-46807)

在Linux内核中,以下漏洞已被修复:

staging: iio: frequency: ad9834: 验证频率参数值

在ad9834_write_frequency()中,clk_get_rate()可能返回0。这种情况下调用ad9834_calc_freqreg()会导致除以零。检查'if (fout > (clk_freq / 2))'在'fout'为0时不起保护作用。ad9834_write_frequency()从ad9834_write()调用,其中fout取自文本缓冲区,可能包含任何值。修改参数检查。由Linux验证中心(linuxtesting.org)通过SVACE发现。(CVE-2024-47663)

在Linux内核中,以下漏洞已被修复:

lib/generic-radix-tree.c: 修复__genradix_ptr_alloc()中的罕见竞争

如果需要增加树深度,分配新节点,然后与在我们之前增加树深度的另一个线程竞争,我们仍将有一个预分配的节点可能稍后使用。如果我们将该节点用于新的非根节点,它仍将包含指向旧根的指针而不是被清零 - 通过在cmpxchg失败路径中清零来修复此问题。(CVE-2024-47668)

在Linux内核中,以下漏洞已被修复:

wifi: iwlwifi: mvm: 当固件停止时暂停TCM

不这样做将导致我们在固件未活动时向传输发送主机命令,从而触发警告。

bad state = 0
WARNING: CPU: 2 PID: 17434 at drivers/net/wireless/intel/iwlwifi/iwl-trans.c:115 iwl_trans_send_cmd+0x1cb/0x1e0 [iwlwifi]
RIP: 0010:iwl_trans_send_cmd+0x1cb/0x1e0 [iwlwifi]
Call Trace:
<TASK>
iwl_mvm_send_cmd+0x40/0xc0 [iwlmvm]
iwl_mvm_config_scan+0x198/0x260 [iwlmvm]
iwl_mvm_recalc_tcm+0x730/0x11d0 [iwlmvm]
iwl_mvm_tcm_work+0x1d/0x30 [iwlmvm]
process_one_work+0x29e/0x640
worker_thread+0x2df/0x690
? rescuer_thread+0x540/0x540
kthread+0x192/0x1e0
? set_kthread_struct+0x90/0x90
ret_from_fork+0x22/0x30(CVE-2024-47673)

在Linux内核中,以下漏洞已被修复:
IB/core: 修复ib_cache_setup_one错误流清理
当ib_cache_update返回错误时,我们立即退出ib_cache_setup_one而没有适当清理,尽管在此之前我们已经成功执行了gid_table_setup_one,这会导致内核警告如下。在返回错误之前使用gid_table_cleanup_one进行适当清理以修复问题。
WARNING: CPU: 4 PID: 922 at drivers/infiniband/core/cache.c:806 gid_table_release_one+0x181/0x1a0
...(CVE-2024-47693)

在Linux内核中,以下漏洞已被修复:
bpf: 验证失败数据包data/data_end/data_meta的符号扩展
syzbot报告了一个由于提交1f1e864b6555("bpf: 处理上下文成员访问的符号扩展")导致的内核崩溃。原因是由于对数据包data/data_end/data_meta uapi字段的32位加载进行符号扩展。修复方法是在is_valid_access()回调函数中添加对数据包data/data_end/data_meta访问的额外检查。如果这些访问带有符号扩展,验证将失败。[1] https://lore.kernel.org/bpf/000000000000c90eee061d236d37@google.com/(CVE-2024-47702)

在Linux内核中,以下漏洞已被修复:
f2fs: 修复等待dio完成
在块移除之前应等待所有现有的dio写入IO,否则先前的直接写入IO可能会覆盖可能被其他inode重用的块中的数据。(CVE-2024-47726)

在Linux内核中,以下漏洞已被修复:
drm/amd/display: 多次使用前检查空指针
[WHAT & HOW] 指针如stream_enc和dc->bw_vbios在同一函数中先前已被检查是否为null,因此Coverity警告"暗示stream_enc和dc->bw_vbios可能为null"。它们在后续代码中被多次使用,需要被检查。这修复了Coverity报告的10个FORWARD_NULL问题。(CVE-2024-49920)

在Linux内核中,以下漏洞已被修复:
blk-rq-qos: 修复rq_qos_wait与rq_qos_wake_function竞争导致的崩溃
我们看到来自rq_qos_wake_function的崩溃如下:
BUG: unable to handle page fault for address: ffffafe180a40084
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 100000067 P4D 100000067 PUD 10027c067 PMD 10115d067 PTE 0
Oops: Oops: 0002 [#1] PREEMPT SMP PTI
CPU: 17 UID: 0 PID: 0 Comm: swapper/17 Not tainted 6.12.0-rc3-00013-geca631b8fe80 #11
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014
RIP: 0010:_raw_spin_lock_irqsave+0x1d/0x40
...
问题在于rq_qos_wake_function()在删除等待队列条目后访问它。修复方法是交换顺序。我们还需要使用list_del_init_careful()以匹配finish_wait()中的list_empty_careful()。(CVE-2024-50082)

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2024-46719 V6 kernel Fixed
CVE-2024-46794 V6 kernel Fixed
CVE-2024-46803 V6 kernel Fixed
CVE-2024-46807 V6 kernel Fixed
CVE-2024-47663 V6 kernel Fixed
CVE-2024-47668 V6 kernel Fixed
CVE-2024-47673 V6 kernel Fixed
CVE-2024-47693 V6 kernel Fixed
CVE-2024-47702 V6 kernel Fixed
CVE-2024-47726 V6 kernel Fixed
CVE-2024-49920 V6 kernel Fixed
CVE-2024-50082 V6 kernel Fixed
CVE-2024-50095 V6 kernel Fixed
CVE-2024-50120 V6 kernel Fixed
CVE-2024-50131 V6 kernel Fixed
CVE-2024-50145 V6 kernel Fixed
CVE-2024-50152 V6 kernel Fixed
CVE-2024-50156 V6 kernel Fixed
CVE-2024-50184 V6 kernel Fixed
CVE-2024-50186 V6 kernel Fixed

3. 影响组件

    kernel

4. 修复版本

   

V6

软件名称 架构 版本号
bpftool x86_64 7.2.0-1.ks6
kernel x86_64 6.6.0-28.0.0.34.kb11.ks6
kernel-devel x86_64 6.6.0-28.0.0.34.kb11.ks6
kernel-headers x86_64 6.6.0-28.0.0.34.kb11.ks6
kernel-source x86_64 6.6.0-28.0.0.34.kb11.ks6
kernel-tools x86_64 6.6.0-28.0.0.34.kb11.ks6
kernel-tools-devel x86_64 6.6.0-28.0.0.34.kb11.ks6
perf x86_64 6.6.0-28.0.0.34.kb11.ks6
python3-perf x86_64 6.6.0-28.0.0.34.kb11.ks6
bpftool aarch64 7.2.0-1.ks6
kernel aarch64 6.6.0-28.0.0.34.kb11.ks6
kernel-devel aarch64 6.6.0-28.0.0.34.kb11.ks6
kernel-headers aarch64 6.6.0-28.0.0.34.kb11.ks6
kernel-source aarch64 6.6.0-28.0.0.34.kb11.ks6
kernel-tools aarch64 6.6.0-28.0.0.34.kb11.ks6
kernel-tools-devel aarch64 6.6.0-28.0.0.34.kb11.ks6
perf aarch64 6.6.0-28.0.0.34.kb11.ks6
python3-perf aarch64 6.6.0-28.0.0.34.kb11.ks6

5. 修复方法


方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm

方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名

6. 下载链接

   

V6:

x86_64:

     bpftool   

     kernel   

     kernel-devel   

     kernel-headers   

     kernel-source   

     kernel-tools   

     kernel-tools-devel   

     perf   

     python3-perf   

aarch64:

     bpftool   

     kernel   

     kernel-devel   

     kernel-headers   

     kernel-source   

     kernel-tools   

     kernel-tools-devel   

     perf   

     python3-perf   

上一篇:KylinSec-SA-2025-2586 下一篇:KylinSec-SA-2025-2587