一、漏洞说明
1、漏洞详情
Netfilter是Linux内核中的一个数据包处理模块,它可以提供数据包的过滤、转发、地址转换NAT功能。 2024年3月28日,启明星辰VSRC监测到 Linux kernel权限提升漏洞(CVE-2024-1086)的PoC/EXP在互联网上公开,该漏洞的CVSS评分为7.8,目前漏洞细节已经公开披露。
Linux内核版本v5.14 – v6.6的netfilter 子系统nf_tables组件中存在释放后使用漏洞,由于在nft_verdict_init()函数中,允许正值作为hook判决中的丢弃错误,因此当NF_DROP发出类似于NF_ACCEPT的丢弃错误时,nf_hook_slow()函数可能会导致双重释放漏洞,本地低权限威胁者可利用该漏洞将权限提升为root。
2、影响范围
该漏洞影响了使用Linux内核版本v5.14 – v6.6 版本(不包括分支修补版本 v5.15.149、v6.1.76和v6.6.15)的大多数 Linux系统/内核,包括CentOS、Debian、Ubuntu和 KernelCTF等。
影响版本
Linux Kernel >= 3.15, < 6.1.76
Linux Kernel >= 6.2, < 6.6.15
Linux Kernel >= 6.7, < 6.7.3
Linux Kernel = 6.8-rc1
安全版本
Linux Kernel >= 6.1.76
Linux Kernel >= 6.6.15
Linux Kernel >= 6.7.3
Linux Kernel >= 6.8-rc2
二、漏洞复现
1、搭建环境
# uname -r
6.1.0-10-amd64
# cat /etc/*release*
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12
2、下载编译exploit
su切掉到普通用户下,拉取项目并编译
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
./exploit

3、提权测试
如果make时提示:musl-gcc:命令未找到,需要提前安装musl-gcc编译器
apt install musl-tools
脚本执行完提升权限成功,如下图,需要数分钟

下图,提权不成功

三、漏洞修复
目前该漏洞已经修复,受影响用户可升级到Linux内核v5.15.149、v6.1.76、v6.6.15或更高版本。
参考:https://cloud.tencent.com/announce/detail/2001