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

摘要:

kernel security update

安全等级: Medium

公告ID: KylinSec-SA-2024-4962

发布日期: 2025年8月15日

关联CVE: CVE-2023-52882   CVE-2024-36895   CVE-2024-36950  

  • 详细介绍

1. 漏洞描述

   

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

安全修复:

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

clk: sunxi-ng: h6: 在PLL CPUX速率变更时重新设置CPUX父时钟

当CPU正在使用PLL CPUX时钟时进行速率变更,虽然在绝大多数情况下可以正常工作,但偶尔会导致系统不稳定。这将引发系统崩溃和其他未定义行为。经过大量测试(30小时以上)和频繁的频率切换后,我们发现当将父时钟重新设置为稳定的24MHz振荡器时,不再出现任何稳定性问题。(CVE-2023-52882)

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

usb: gadget: uvc: 解析configfs列表时使用正确的缓冲区大小

本次提交修复了32位平台上uvc gadget的支持问题。

提交0df28607c5cb("usb: gadget: uvc: 通用化辅助函数以便重用")引入了__uvcg_iter_item_entries()辅助函数来帮助解析configfs属性存储中的项目列表。这个函数是另一个非常相似函数的通用版本,原函数使用固定大小的栈分配临时缓冲区,并通过sizeof()运算符检查潜在的缓冲区溢出。新函数被改为在堆上分配可变大小的临时缓冲区,但没有正确更新为使用计算大小而非sizeof()运算符来检查最大缓冲区大小。

因此,在64位平台上最大项目大小为7(加上空终止符),而在32位平台上仅为3。虽然7恰好勉强够用,但3对于某些UVC configfs属性来说绝对太小。例如,以100ns为单位的dwFrameInterval通常有6位数的项目值,如166666表示60fps。(CVE-2024-36895)

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

firewire: ohci: 在ISR和bottom half之间屏蔽总线重置中断

在FireWire OHCI中断处理程序中,如果发生了总线重置中断,就屏蔽总线重置中断,直到bus_reset_work服务并清除了该中断。

通常,我们总是保持总线重置中断被屏蔽。我们通过随后发生的自ID中断来推断总线重置。2008年在a007bb857e0b26f5d8b73c2ff90782d9c0972620中引入了一个会解除屏蔽总线重置中断的场景:如果在调试参数位掩码中设置了OHCI_PARAM_DEBUG_BUSRESETS(8),我们将解除屏蔽总线重置中断以便记录它们。

irq_handler会记录总线重置中断。然而,我们不能在irq_handler中清除总线重置事件标志,因为我们稍后才会服务该事件。irq_handler退出时事件标志仍然被设置。如果相应的中断仍然未被屏蔽,第一次总线重置通常会因为irq_handler每次退出时又被调用而导致系统冻结。这个冻结可以通过以"modprobe firewire_ohci debug=-1"加载firewire_ohci(启用所有调试输出)来复现。显然也存在一些情况,bus_reset_work会足够快地被调用来清除事件,操作会正常继续。

这个冻结在a007bb85提交后几个月首次被报告,但直到现在才被修复。在模块加载后,调试级别可以通过sysfs安全地设置为-1,但由于只在初始化期间解除屏蔽,这对记录总线重置中断无效。

irq_handler现在将保持事件标志设置但屏蔽总线重置中断,因此irq_handler不会被再次调用,也就不会发生冻结。如果启用了OHCI_PARAM_DEBUG_BUSRESETS,bus_reset_work将在服务事件后解除屏蔽中断,因此未来的中断会被捕获。(CVE-2024-36950)

2. 影响范围

cve名称 产品 组件 是否受影响
CVE-2023-52882 V6 kernel Fixed
CVE-2024-36895 V6 kernel Fixed
CVE-2024-36950 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-2799 下一篇:KylinSec-SA-2024-4970