Ubuntu内核曝严重UAF漏洞,可致攻击者获取Root权限

Ubuntu Linux内核曝出高危漏洞,本地攻击者可利用该漏洞提升权限,最终在受影响系统上获取root访问权限。该漏洞在TyphoonPWN 2025安全会议上披露,源于af_unix子系统的引用计数失衡问题,导致释放后重用(UAF)漏洞。研究人员已提供完整的PoC利用代码进行验证。

此漏洞影响运行6.8.0-60-generic内核版本的Ubuntu 24.04.2系统,突显了主流Linux发行版在内核补丁管理方面面临的持续挑战。

漏洞根源分析

漏洞的根本原因在于Ubuntu对上游Linux内核补丁的部分实现存在缺陷。这些补丁原本旨在修复af_unix域套接字中的引用计数错误------该套接字通过允许进程相互发送文件描述符来实现进程间通信。

历史上,该子系统采用垃圾回收机制处理循环引用。但最近的上游变更改用新算法,同时调整了带外(OOB)套接字缓冲区内核(skb)引用的管理方式。

具体而言,补丁移除了af_unix.c文件中queue_oob函数内的skb_get()调用,以避免对u->oob_skb(通过MSG_OOB标志发送的OOB数据指针)进行不必要的引用计数增加,并相应地在垃圾回收中避免减少其计数。

Ubuntu内核提权机制

基于较旧6.8.12版本的Ubuntu内核保留了传统垃圾回收机制,但错误地仅应用了af_unix.c文件的修改,遗漏了对garbage.c文件的更新。

这种不匹配导致oob_skb在分配时丢失一个引用,但在套接字关闭时却经历两次递减:一次通过unix_gc中的kfree_skb,另一次通过unix_release_sock,最终触发对skbuff_head_cache slab中256字节struct sk_buff对象的UAF漏洞。

SSD Disclosure指出,虽然两个函数都可能释放该对象,但在实际利用中,总是先由unix_gc释放对象,再由unix_release_sock使用已释放的内存。

漏洞利用技术细节

要实现可靠的UAF利用,需要分离释放和使用阶段。攻击者通过在后续sendmsg调用期间触发高unix_tot_inflight计数(超过16,000)来立即触发垃圾回收,这会调用wait_for_unix_gc。

为了填补unix_release_sock作为TWA_RESUME工作项在系统调用后执行前的时间间隙,漏洞利用程序使用FUSE文件系统的mmap缓冲区暂停skb_copy_datagram_from_iter中的执行,通过自定义FUSE_read处理程序使内核线程休眠数秒。

随后发起跨缓存攻击释放专用slab,通过环回接口上的数据包套接字喷洒受控的pg_vec结构来回收页面。覆盖已释放的skb可控制其在skb_release_head_state中的析构函数调用,从而实现RIP和RDI劫持。

KASLR绕过采用Entrybleed的预取侧信道变体,在无KPTI的系统上通过统计时序分析实现100%成功率。最终,ROP链将modprobe_path覆盖为"/tmp/x",这是一个通过usermodehelper调用获取root权限的shell脚本。

漏洞修复建议

Canonical迅速做出响应,于2025年9月18日发布更新内核,完整合并上游修复以平衡两个修改文件中的引用计数。受影响版本用户应立即通过apt upgrade linux-generic命令更新至6.8.0-61或更高版本内核。

此事件凸显了发行版内核选择性回溯移植补丁的风险,敦促管理员密切关注安全公告。虽然尚未发现大规模利用,但公开的PoC提高了企业环境打补丁的紧迫性。

相关推荐
我叫洋洋2 小时前
涂鸦 T5+ hashcat 自动化破解 WPA2:从单缺 M2 到全自动值守的踩坑实录 破解wifi 密码
运维·单片机·自动化
左手の明天8 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
꯭自꯭闭꯭8 小时前
达梦SQL优化相关
linux·运维·数据库·sql
ZhangJun959 小时前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
一条破秋裤9 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
贵州山魈羡民10 小时前
【玩转手机】通过 Podroid 上的 Alpine 部署 1Panel,把微型服务器装进口袋
运维·服务器
小白的码BUG之路10 小时前
Docker -- 构建nacos镜像
运维·docker·容器
谷哥的小弟11 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing12 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
和裕12 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法