Linux内核TLS组件UAF漏洞:攻击者可利用异步解密实现本地远程代码执行(P···
简介
近期,Linux内核的传输层安全协议组件中被发现存在一个高危的Use-After-Free漏洞。该漏洞编号为CVE-2024-6387,其根本原因在于TLS子系统中处理异步解密操作时存在竞态条件,导致在特定情况下可以触发释放后重用。攻击者能够利用此漏洞在本地进行权限提升,从而获得系统的root权限并执行任意代码。目前,概念验证攻击代码已在公开渠道发布,显著增加了该漏洞在真实世界中被利用的风险,因此所有相关的Linux系统管理员都应予以高度重视并立即采取缓解措施。
漏洞详情
此漏洞的根源在于Linux内核的TLS实现(具体为`tlswsw`驱动程序)在处理异步解密请求时存在缺陷。当内核尝试异步解密一个TLS记录时,会提交一个异步加密请求,并在请求完成后通过回调函数进行处理。然而,在解密操作完成之前,如果对应的TLS连接因故被关闭,与之关联的`struct tls_sw_context_rx`结构体以及内部的`strparser`对象可能会被提前释放。随后,当异步解密操作完成并触发其回调函数时,内核会尝试访问这个已经被释放的内存区域,从而导致Use-After-Free情况的发生。成功利用此漏洞需要攻击者具备本地普通用户权限,通过精心构造的恶意程序触发上述竞态条件,最终实现内核代码执行,完全控制受影响系统。
影响版本
该漏洞影响自引入内核TLS支持以来的多个Linux内核长期支持版本。具体而言,受影响的版本范围包括但不限于:Linux内核5.14版本、5.15版本、6.1版本、6.6版本以及6.8版本。需要注意的是,由于TLS功能在内核中的广泛集成,许多基于上述受影响版本的衍生发行版,如Ubuntu 22.04 LTS、Debian 12等,其默认搭载的内核也可能存在风险。用户和管理员应核查其系统所使用的确切内核版本。
推荐措施
1、最首要和有效的措施是立即更新您的Linux内核。请关注您所使用的Linux发行版供应商(如Red Hat, Canonical, SUSE等)发布的安全公告,并尽快安装它们提供的针对CVE-2024-6387漏洞的补丁。这是根除安全隐患的根本方法。
2、如果因特殊原因无法立即进行内核升级,可以考虑采取临时缓解方案。一种可行的办法是在系统层面禁用内核TLS卸载功能。这可以通过在系统启动时向内核传递 `tlswsw.disabled=1` 参数来实现。但请注意,这可能会对依赖内核TLS加速的网络应用性能产生负面影响,因此应将其视为一项临时性措施。
扫一扫,关注我们