CVE-2024-1086 Linux内核本地提权漏洞复现和验证

一、漏洞说明

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