摘要:
kernel security update
安全等级: High
公告ID: KylinSec-SA-2024-4984
发布日期: 2025年7月30日
关联CVE: CVE-2024-46814 CVE-2024-46701 CVE-2024-46796 CVE-2024-46788 CVE-2024-46797 CVE-2024-46784 CVE-2024-46787 CVE-2024-46781 CVE-2024-46780 CVE-2024-45009 CVE-2024-46776 CVE-2024-46758 CVE-2024-46849 CVE-2024-46811 CVE-2024-44958 CVE-2024-42067 CVE-2024-46761 CVE-2024-46695 CVE-2024-46773 CVE-2024-45029 CVE-2024-45028 CVE-2024-46750 CVE-2024-46791 CVE-2024-46756 CVE-2024-46755 CVE-2024-46717 CVE-2024-46732 CVE-2024-46857 CVE-2024-46734 CVE-2024-46772 CVE-2024-46736 CVE-2024-46737 CVE-2024-46738 CVE-2024-46739 CVE-2024-46816 CVE-2024-42312 CVE-2024-46806 CVE-2024-46818 CVE-2024-46679 CVE-2024-46798 CVE-2024-46753 CVE-2024-46777 CVE-2024-46674 CVE-2024-46844 CVE-2024-46673 CVE-2024-46771 CVE-2024-46852 CVE-2024-46845 CVE-2024-46829 CVE-2024-45016 CVE-2024-46827 CVE-2024-45011 CVE-2024-46812 CVE-2024-46843 CVE-2024-44949 CVE-2024-46686 CVE-2024-46760 CVE-2024-46767 CVE-2024-46681 CVE-2024-46804 CVE-2024-46728 CVE-2024-46846 CVE-2024-46740 CVE-2024-46725 CVE-2024-46768 CVE-2024-46842 CVE-2024-46722 CVE-2024-46721 CVE-2024-46841
Linux内核,操作系统核心本身。
安全修复:
在Linux内核中,以下漏洞已被修复:
bpf: 考虑bpf_jit_binary_lock_ro()中set_memory_rox()的返回值
set_memory_rox()可能失败,导致内存不受保护。
检查返回值并在bpf_jit_binary_lock_ro()返回错误时退出。(CVE-2024-42067)
在Linux内核中,以下漏洞已被修复:
sysctl: 始终初始化i_uid/i_gid
始终在sysfs核心中初始化i_uid/i_gid,以便set_ownership()可以安全地跳过设置它们。
提交5ec27ec735ba("fs/proc/proc_sysctl.c: 修复/proc/sys inodes上i_uid/i_gid的默认值。")在set_ownership()未实现时添加了i_uid/i_gid的默认值。它还遗漏了调整net_ctl_set_ownership()在计算更好值失败时使用相同的默认值。(CVE-2024-42312)
在Linux内核中,以下漏洞已被修复:
parisc: 修复可能的DMA损坏
ARCH_DMA_MINALIGN被定义为16 - 这太小了 - 两个不相关的16字节分配可能共享一个缓存行。如果其中一个分配使用DMA写入,另一个使用缓存写入,则使用DMA写入的值可能被损坏。
此提交将ARCH_DMA_MINALIGN更改为PA20上为128,PA1.1上为32 - 这是最大的可能缓存行大小。
由于不同的parisc微架构具有不同的缓存行大小,我们定义了arch_slab_minalign()、cache_line_size()和dma_get_cache_alignment(),以便内核可以根据检测到的缓存行大小动态调整slab缓存参数。(CVE-2024-44949)
在Linux内核中,以下漏洞已被修复:
sched/smt: 修复sched_smt_present dec/inc的不平衡
在进行压力测试时,我收到了以下警告报告:
jump label: 负数计数!
WARNING: CPU: 3 PID: 38 at kernel/jump_label.c:263 static_key_slow_try_dec+0x9d/0xb0
调用跟踪:
<TASK>
__static_key_slow_dec_cpuslocked+0x16/0x70
sched_cpu_deactivate+0x26e/0x2a0
cpuhp_invoke_callback+0x3ad/0x10d0
cpuhp_thread_fun+0x3f5/0x680
smpboot_thread_fn+0x56d/0x8d0
kthread+0x309/0x400
ret_from_fork+0x41/0x70
ret_from_fork_asm+0x1b/0x30
</TASK>
因为在sched_cpu_deactivate()中cpuset_cpu_inactive()失败时,cpu离线失败,但在调用sched_cpu_deactivate()之前sched_smt_present已经递减,导致dec/inc不平衡,因此通过在错误路径中递增sched_smt_present来修复它。(CVE-2024-44958)
在Linux内核中,以下漏洞已被修复:
mptcp: pm: 仅对MPJ请求递减add_addr_accepted
添加以下警告...
WARN_ON_ONCE(msk->pm.add_addr_accepted == 0)
...在递减add_addr_accepted计数器之前,有助于在运行mptcp_join.sh自测试中的"remove single subflow"子测试时发现一个错误。
删除一个'subflow'端点将首先触发RM_ADDR,然后是子流关闭。在此补丁之前,在接收到RM_ADDR时,另一个对等方将尝试递减此add_addr_accepted。这是不正确的,因为附加的子流不是在接收到ADD_ADDR时创建的。
解决这个问题的方法是,只有当附加的子流是对非0远程id的MP_JOIN,并且由接收RM_ADDR的主机发起时,才递减计数器。(CVE-2024-45009)
在Linux内核中,以下漏洞已被修复:
char: xillybus: 在探测设备时检查USB端点
确保在驱动程序探测设备时,驱动程序可能尝试访问的所有端点都存在并且类型正确。
所有XillyUSB设备必须在地址1有一个批量IN和批量OUT端点。这在xillyusb_setup_base_eps()中验证。
除此之外,XillyUSB设备可能有额外的批量OUT端点。关于这些端点地址的信息是从驱动程序在探测设备时获取的数据结构(IDT)中推导出来的。这些端点在setup_channels()中检查。
XillyUSB设备从不超过一个IN端点,因为所有指向主机的数据都在这个单一的批量IN端点中多路复用。这就是为什么setup_channels()只检查OUT端点。(CVE-2024-45011)
在Linux内核中,以下漏洞已被修复:
netem: 如果重复入队失败,则修复返回值
netem_enqueue()中存在一个错误,由提交5845f706388a("net: netem: 修复__skb_to_sgvec中的skb长度BUG_ON")引入,可能导致释放后使用。
此提交使netem_enqueue()在数据包被复制时总是返回NET_XMIT_SUCCESS,这可能导致父qdisc的q.qlen被错误地增加。当这种情况发生时,qlen_notify()可能在销毁期间在父级上被跳过,为一些类别的qdisc(如DRR)留下悬空指针。
此错误发生的两种方式:
- 如果复制的数据包被rootq->enqueue()丢弃,然后原始数据包也被丢弃。
- 如果rootq->enqueue()将复制的数据包发送到不同的qdisc,而原始数据包被丢弃。
在这两种情况下,即使没有数据包被入队到netem qdisc,也会返回NET_XMIT_SUCCESS。
修复方法是将复制数据包的入队推迟到原始数据包保证返回NET_XMIT_SUCCESS之后。(CVE-2024-45016)
cve名称 | 产品 | 组件 | 是否受影响 |
---|---|---|---|
CVE-2024-46814 | V6 | kernel | Fixed |
CVE-2024-46701 | V6 | kernel | Fixed |
CVE-2024-46796 | V6 | kernel | Fixed |
CVE-2024-46788 | V6 | kernel | Fixed |
CVE-2024-46797 | V6 | kernel | Fixed |
CVE-2024-46784 | V6 | kernel | Fixed |
CVE-2024-46787 | V6 | kernel | Fixed |
CVE-2024-46781 | V6 | kernel | Fixed |
CVE-2024-46780 | V6 | kernel | Fixed |
CVE-2024-45009 | V6 | kernel | Fixed |
CVE-2024-46776 | V6 | kernel | Fixed |
CVE-2024-46758 | V6 | kernel | Fixed |
CVE-2024-46849 | V6 | kernel | Fixed |
CVE-2024-46811 | V6 | kernel | Fixed |
CVE-2024-44958 | V6 | kernel | Fixed |
CVE-2024-42067 | V6 | kernel | Fixed |
CVE-2024-46761 | V6 | kernel | Fixed |
CVE-2024-46695 | V6 | kernel | Fixed |
CVE-2024-46773 | V6 | kernel | Fixed |
CVE-2024-45029 | V6 | kernel | Fixed |
CVE-2024-45028 | V6 | kernel | Fixed |
CVE-2024-46750 | V6 | kernel | Fixed |
CVE-2024-46791 | V6 | kernel | Fixed |
CVE-2024-46756 | V6 | kernel | Fixed |
CVE-2024-46755 | V6 | kernel | Fixed |
CVE-2024-46717 | V6 | kernel | Fixed |
CVE-2024-46732 | V6 | kernel | Fixed |
CVE-2024-46857 | V6 | kernel | Fixed |
CVE-2024-46734 | V6 | kernel | Fixed |
CVE-2024-46772 | V6 | kernel | Fixed |
CVE-2024-46736 | V6 | kernel | Fixed |
CVE-2024-46737 | V6 | kernel | Fixed |
CVE-2024-46738 | V6 | kernel | Fixed |
CVE-2024-46739 | V6 | kernel | Fixed |
CVE-2024-46816 | V6 | kernel | Fixed |
CVE-2024-42312 | V6 | kernel | Fixed |
CVE-2024-46806 | V6 | kernel | Fixed |
CVE-2024-46818 | V6 | kernel | Fixed |
CVE-2024-46679 | V6 | kernel | Fixed |
CVE-2024-46798 | V6 | kernel | Fixed |
CVE-2024-46753 | V6 | kernel | Fixed |
CVE-2024-46777 | V6 | kernel | Fixed |
CVE-2024-46674 | V6 | kernel | Fixed |
CVE-2024-46844 | V6 | kernel | Fixed |
CVE-2024-46673 | V6 | kernel | Fixed |
CVE-2024-46771 | V6 | kernel | Fixed |
CVE-2024-46852 | V6 | kernel | Fixed |
CVE-2024-46845 | V6 | kernel | Fixed |
CVE-2024-46829 | V6 | kernel | Fixed |
CVE-2024-45016 | V6 | kernel | Fixed |
CVE-2024-46827 | V6 | kernel | Fixed |
CVE-2024-45011 | V6 | kernel | Fixed |
CVE-2024-46812 | V6 | kernel | Fixed |
CVE-2024-46843 | V6 | kernel | Fixed |
CVE-2024-44949 | V6 | kernel | Fixed |
CVE-2024-46686 | V6 | kernel | Fixed |
CVE-2024-46760 | V6 | kernel | Fixed |
CVE-2024-46767 | V6 | kernel | Fixed |
CVE-2024-46681 | V6 | kernel | Fixed |
CVE-2024-46804 | V6 | kernel | Fixed |
CVE-2024-46728 | V6 | kernel | Fixed |
CVE-2024-46846 | V6 | kernel | Fixed |
CVE-2024-46740 | V6 | kernel | Fixed |
CVE-2024-46725 | V6 | kernel | Fixed |
CVE-2024-46768 | V6 | kernel | Fixed |
CVE-2024-46842 | V6 | kernel | Fixed |
CVE-2024-46722 | V6 | kernel | Fixed |
CVE-2024-46721 | V6 | kernel | Fixed |
CVE-2024-46841 | V6 | kernel | Fixed |
软件名称 | 架构 | 版本号 |
---|---|---|
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 |
方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm
方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名