
2025年8月9日 —— Linux内核中发现编号为CVE-2025-38236的高危漏洞,攻击者可利用该漏洞从Linux系统的Chrome渲染器沙箱内实现权限提升。Google Project Zero研究员Jann Horn发现该漏洞影响Linux 6.9及以上版本内核,源于UNIX域套接字中鲜为人知的MSG_OOB(带外数据)功能。这一发现揭示了冷门内核功能带来的安全风险,同时暴露出浏览器沙箱防护机制的缺陷。
MSG_OOB漏洞技术分析
该漏洞最早在6月初的代码审计中被发现,其根源可追溯至2021年Linux 5.15版本引入的MSG_OOB实现缺陷。虽然除特定Oracle产品外该功能极少使用,但MSG_OOB在支持UNIX套接字的内核中默认启用,且由于未过滤系统调用标志,Chrome渲染器沙箱可访问此功能。
该漏洞会导致释放后使用(UAF)问题。Horn证实,通过简单的套接字操作序列即可触发该漏洞,攻击者可能借此操控内核内存获取更高权限。目前Linux内核已发布补丁,Chrome浏览器也已在渲染器沙箱中屏蔽MSG_OOB消息以缓解风险。
根据Google Project Zero漏洞追踪系统的详细记录,Horn构建的漏洞利用链展示了攻击者如何在x86-64架构的Debian Trixie系统上,从Chrome渲染器沙箱内的原生代码执行升级至内核级控制。通过利用UAF漏洞,攻击者建立读取原语将任意内核内存复制至用户空间,从而绕过用户拷贝加固限制。该技术通过将释放的内存重新分配为管道页或内核栈,结合页表操作和mprotect()延迟注入,实现精确的内存破坏。值得注意的是,攻击还利用了Debian的CONFIG_RANDOMIZE_KSTACK_OFFSET安全特性,将本应作为防护措施的栈随机化机制转化为内存目标对齐的工具。
模糊测试与沙箱设计的挑战
Horn最初是在审查新内核功能时发现该漏洞,随后Google的syzkaller模糊测试工具在2024年8月捕获了相关问题。首个漏洞仅需6个系统调用即可触发,而Horn发现的第二个更复杂漏洞需要8个系统调用,这反映出模糊测试工具在探索套接字缓冲区(SKB)等复杂内核数据结构时面临的困难。Horn建议模糊测试工具可针对特定内核子系统进行优化,以更有效发现此类漏洞。
该漏洞利用过程还暴露出Chrome Linux渲染器沙箱中可访问的广泛内核接口,包括匿名虚拟内存区域(VMA)、UNIX套接字、管道以及sendmsg()和mprotect()等系统调用。其中多数接口与渲染器功能无关,却徒增攻击面。此前涉及futex()、memfd_create()和pipe2()的Chrome漏洞同样证明,沙箱中暴露的冷门内核功能可能带来安全风险。
Horn的研究还对随机化等概率性防护措施的有效性提出质疑——当攻击者具备任意读取原语时,通过反复检测随机化结果即可绕过诸如"每系统调用栈随机化"等防护机制。这一发现呼吁实施更严格的沙箱限制,并重新评估向非特权进程开放的内核功能。Horn表示将在后续报告中深入分析Chrome的Linux渲染器沙箱机制。建议Linux用户及时安装最新内核补丁,开发者则应严格审查核心系统接口中的非主流内核功能。
文章转载自“CNVD”官方网站