近日,安全研究人员在CentOS 9系统中确认存在一个关键性安全漏洞,该漏洞允许本地普通用户无需任何特殊权限即可将自身权限提升至root级别,完全控制系统。
漏洞技术细节
该漏洞源于Linux内核网络子系统中的释放后重用(UAF)缺陷,具体存在于CAKE(通用应用增强型)数据包调度程序(sch_cake模块)中。此漏洞在2025年TyphoonPWN黑客竞赛中被评为Linux类别第一名,凸显其技术复杂性和严重性。
漏洞的核心问题在于CAKE队列规则处理数据包丢弃时的逻辑错误:
- 关键缺陷:
cake_enqueue函数在因缓冲区限制而丢弃数据包时,错误地向父调度程序返回NET_XMIT_SUCCESS(成功状态) - 影响机制:当HFSC(分层公平服务曲线)等类调度程序堆叠在CAKE之上时,会依赖此返回值
- 漏洞触发:CAKE声称数据包已成功排队,HFSC保持对该类的引用,但实际数据包已被丢弃
- 最终结果:导致悬空指针问题——HFSC仍认为该类处于活动状态,而实际内存已被释放
漏洞利用过程
根据SSD安全披露信息,已发布的概念验证(PoC)代码展示了完整的攻击链,攻击者可借此完全控制系统:
- KASLR绕过:利用prefetch侧信道攻击确定内核代码的随机化位置
- 堆喷射:通过
sendmsg系统调用向内核堆中注入大量"假"Qdisc对象,控制内存布局 - 触发UAF:使悬空指针指向攻击者控制的数据区域
- ROP链构建:创建返回导向编程链劫持执行路径,覆盖
modprobe_path变量 - 权限提升:以root权限执行任意脚本,完成权限提升
影响范围与风险评估
- 影响版本:CentOS 9所有版本(特别是9.4及以上)
- 漏洞等级:CVSS评分9.3(严重级别)
- 利用条件:仅需本地普通用户账户,无需特殊权限
- 攻击复杂度:中等(需要内核知识,但PoC已公开)
- 潜在影响:攻击者可安装后门、窃取敏感数据或完全控制系统
值得注意的是,该漏洞不仅影响CentOS 9,还波及所有使用相同内核版本的Linux发行版,包括Ubuntu 24.04、Debian Trixie等主流系统。
修复与缓解措施
目前,尚无官方补丁发布,供应商仅表示修复工作"正在进行中"。
系统加固:
- 限制tc命令访问:通过SELinux或AppArmor配置文件限制流量控制命令
- 禁用不必要的模块:在
/etc/modprobe.d/中添加配置禁止加载sch_cake - 实施最小权限原则:严格控制用户对系统命令的访问权限
监控建议:
- 监控内核日志:关注与网络调度相关的异常事件
- 启用堆保护:配置内核启用
CONFIG_SLAB_FREELIST_RANDOM等保护机制 - 部署完整性检查:使用AIDE或OSSEC监控关键系统文件变化
由于PoC代码已公开,攻击门槛大幅降低,强烈建议系统管理员立即采取缓解措施,避免系统遭受未经授权的root权限访问。同时,密切关注Linux内核安全公告,一旦官方补丁发布,应立即应用更新。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


