一、漏洞描述
2024年3月28日,监 Linux kernel权限提升漏洞(CVE-2024-1086)的PoC/EXP在互联网上公开,该漏洞的CVSS评分为7.8,目前漏洞细节已经公开披露,美国网络安全与基础设施安全局(CISA)6月1日也更新了其已知漏洞(KEV)目录,要求联邦机构在 2024 年 6 月 20 日之前打上补丁,修复追踪编号为 CVE-2024-1086 的 Linux 内核权限提升漏洞。CVE-2024-1086 是一个高危 use-after-free 漏洞,于 2024 年 1 月 31 日首次披露,存在于 netfilter: nf_tables 组件中,相关漏洞代码于 2014 年 2 月的一项提交并入。攻击者可利用该漏洞可在本地进行提权操作,最高可获取目标服务器的root管理权限。该漏洞于2024年3月28日被公开披露,并在互联网上出现了相关的概念验证(PoC)和攻击工具。由于该漏洞的公开性,攻击者可能会利用这个漏洞进行恶意攻击,因此建议尽快采取修复措施。
漏洞原理:Linux内核版本v5.14 – v6.6的netfilter 子系统nf_tables组件中存在释放后使用漏洞,由于在nft_verdict_init()函数中,允许正值作为hook判决中的丢弃错误,因此当 “nf_hook_slow ()” 函数在NF_DROP一起发出类似于NF_ACCEPT的丢弃错误时,nf_hook_slow()函数可能会导致双重释放漏洞,本地低权限威胁者可利用该漏洞将权限提升为root。Netfilter 是 Linux 内核提供的一个框架,允许进行各种与网络有关的操作,如数据包过滤、网络地址转换(NAT)和数据包混淆。
影响范围: 该漏洞影响了使用Linux内核版本v5.14 – v6.6 版本(不包括分支修补版本 v5.15.149、v6.1.76和v6.6.15)的大多数Linux系统/内核:
3.15<= Linux kernel < 6.1.76
5.2<= Linux kernel < 6.6.15
6.7<= Linux kernel < 6.7.3
6.8:rc1 = Linux kernel
修复建议:
- 升级Linux内核版本修复漏洞。Linux 多个稳定版目前已经修复,参考如下:
v5.4.269 及更高版本;v5.10.210 及更高版本;v6.6.15 及更高版本;v4.19.307 及更高版本;v6.1.76 及更高版本;v5.15.149 及更高版本;v6.7.3 及更高版本- 若相关用户暂时无法进行更新,如果业务不需要,可以通过阻止加载受影响的 netfilter (nf_tables) 内核模块来缓解。
- 如果无法禁用该模块,可在非容器化部署中,对用户命名空间进行限制。
关联资源:Notselwyn公告、nftables
二、复现验证及修复
1、漏洞复现过程(来源Github)
2、复现脚本
复现脚本exploit可检测内核v5.14 到(including) v6.6版,完成权限提升复现,但不包括v5.15.149>, v6.1.76>, v6.6.15>这些分支,它们已经完成补丁修复;
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
CVE-2024-1086/exploit #完成后会生成二进制文件
./exploit