Linux UAF漏洞(CVE-2024-50264)新型利用方式曝光
研究人员发现一种新型技术可绕过现代安全防护措施,利用Linux内核中的Use-After-Free(UAF)漏洞CVE-2024-50264获取root权限。该技术通过破坏msg_msg对象而不导致内核崩溃,并结合跨缓存攻击和内存喷射等方法,在恶劣条件下实现可靠利用。最终通过越界读取泄露进程凭证地址并实施第二次UAF攻击,成功提升权限至root。 2025-9-9 00:20:11 Author: www.freebuf.com(查看原文) 阅读量:10 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

研究人员发现一种新型利用技术,可成功绕过现代安全防护措施,通过Linux内核中复杂的释放后重用(Use-After-Free,UAF)漏洞获取root权限。

漏洞背景分析

该技术针对编号为CVE-2024-50264的漏洞,这是AF_VSOCK子系统中一个难以利用的竞态条件漏洞,曾因其复杂性获得Pwnie Awards奖项认可。该漏洞自Linux v4.8版本引入,存在多重利用难点。

据安全研究员Alexander Popov分析,非特权用户虽可触发该漏洞,但面临严重限制:竞态条件不稳定、内存破坏时间窗口极短、且内核在利用过程中存在多种崩溃可能。

原始利用方案极为复杂,需要大规模内存喷射及SLUBStick、Dirty Pagetable等高级技术。

新型利用技术原理

研究人员转而寻求更简洁的利用路径,开发出基于msg_msg内核对象的新方法。该技术的核心在于能够破坏msg_msg对象而不导致内核挂起。

通常情况下,对此类对象的UAF写入会因m_list.prev指针字段非零而失败,导致内核尝试获取自旋锁时系统挂起。

研究人员通过巧妙操纵消息队列实现突破:

  1. 将消息队列填充至接近饱和状态,仅保留少量空闲空间
  2. 尝试发送目标msg_msg对象,由于队列已满,内核会分配对象但阻塞msgsnd()系统调用
  3. 在系统调用阻塞期间触发UAF,破坏等待中的msg_msg对象字段
  4. 释放消息队列空间后,被阻塞的系统调用恢复执行,内核将受损的msg_msg对象加入队列,在此过程中自动修复损坏的列表指针从而避免崩溃

该技术无需事先获取内核信息泄露,即可在恶劣条件下通过UAF写入创建可靠的利用原语。

内核防护绕过方案

为成功实施攻击,研究人员还需克服其他障碍:

通过跨缓存攻击(cross-cache attack),用msg_msg对象替换已释放的virtio_vsock_sock对象,规避CONFIG_RANDOM_KMALLOC_CACHES等内核加固特性。同时UAF写入速度过快也会影响攻击可靠性。

Alexander表示,通过大量timerfdepoll实例通知使目标内核工作线程过载,可显著延长竞态条件时间窗口。

利用msg_msg对象破坏实现越界读取,泄露包含进程凭证(struct cred)地址的内核内存信息后,再对pipe_buffer对象实施第二次UAF攻击,最终获得任意地址读写能力,直接修改进程凭证提升至root权限,完成纯数据攻击(data-only attack)。

整个漏洞利用开发过程使用定制测试环境kernel-hack-drill进行优化,该工具可在受控条件下实验内核利用原语。

参考来源:

New Technique Uncovered To Exploit Linux Kernel Use-After-Free Vulnerability

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/447833.html
如有侵权请联系:admin#unsafe.sh