聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
研究员通过谷歌的漏洞奖励计划 kernelCTF 提交该漏洞,获得超过8万美元的赏金。


该漏洞影响 Linux 2.6.24至6.12.77版本,影响范围极大。攻击者需要拥有 CAP_ADMIN 能力(在非特权用户命名空间中常默认拥有该能力),如成功利用,可绕过KASLR并稳定执行任意代码。

该漏洞常被称为类型混淆漏洞,直接根因在于一行代码:
bond_dev->header_ops = slave_dev->header_ops;header_ops 是一个函数指针表,将处理某种协议报文头的函数组织在一起。bond 设备的设计和实现使其能够透明地处理下层的从设备。因此,“bond 设备对报文头的处理 == 下层设备对报文头的处理”,直接复用这些函数似乎是合理的。然而,其中部分函数在执行时会引用和修改设备的私有存储区域。bond 设备所持有的存储区域,其类型与从设备持有的存储区域不同,并且不兼容。因此,仅这一行代码就已经造成了可能发生类型混淆的局面。
虽然该漏洞是由一行代码引发的,但要构建稳定的利用需要一系列复杂步骤。触发致命的内存越界写需要极其苛刻的内存布局条件(需将skb->data精准对齐到skb_shared_info头部)。该漏洞代码自2007年(提交1284cd3a)合并入内核主线,因普通场景下越界只会写入未使用的内存区域,不触发崩溃,因此导致长达19年未被发现。
研究人员表示,他们最初通过 syzkaller 的一次崩溃偶然发现该漏洞,且在深入分析该崩溃之后才发现该漏洞。这也是文中解释可能显得突兀的原因。


修复该漏洞的最好方式是更新至最新版本。该漏洞已在2026年3月修复,主流发行版已陆续合入。不过一些发行版或版本可能仍未修复。
如用户无法立即更新,则可采取如下任意一种方式进行缓解:
禁用非特权用户命名空间:设置 echo 0 > /proc/sys/kernel/unprivileged_userns_clone(注意:这种方式会影响Rootless Docker等容器特性)。
禁用Bonding模块(因默认多数环境未加载):执行 rmmod bonding 或通过 modprobe.d 黑名单屏蔽。
已存在16年的 Linux KVM 漏洞可导致从客户虚拟机逃逸至宿主机
Bad Epoll:Linux 内核新漏洞,导致低权限用户获得 root 权限
DirtyClone: Linux 内核新漏洞,通过克隆的数据包获得根权限
400多个Arch Linux 包受陷,用于推送 rootkit、信息窃取器
https://gmo-cybersecurity.com/blog/19-years-hidden-80000-rewarded-reporting-a-linux-kernel-zero-day-for-google-kernelctf/
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。


奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~