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提高了企业环境打补丁的紧迫性。

相关推荐
序属秋秋秋1 小时前
《Linux系统编程之进程基础》【进程优先级】
linux·运维·c语言·c++·笔记·进程·优先级
加勒比之杰克1 小时前
【操作系统原理】Linux 进程控制
linux·运维·服务器·进程控制
XH-hui3 小时前
【打靶日记】TheHackerLabs 之 THLPWN
linux·网络安全·thehackerlabs·thl
我是小超人-雨石花6 小时前
Jenkins&Robot Framework持续集成
运维·jenkins·ci
wanhengidc8 小时前
云手机的软件核心是什么
运维·服务器·web安全·游戏·智能手机
抛砖者8 小时前
1、Ubuntu上MySQL安装,密码设置,远程访问,端口修改
mysql·ubuntu
芬加达9 小时前
jvm八股
运维·服务器·jvm
小兔薯了9 小时前
11. Linux firewall 防火墙管理
linux·运维·服务器
Linux技术芯9 小时前
浅谈SCSI寻址机制与工作阶段深度解析?
linux
ink@re10 小时前
Docker环境搭建与容器管理实战:从部署到编排的完整指南
运维·docker·容器