目录
0x00 实测记录
0x01 漏洞原理
0x02 影响版本
0x03 利用步骤
0x04 修复方式
0x05 参考
0x00 实测记录
具体漏洞介绍与利用修复步骤可从0x01开始阅读,这部分可跳过。
偶然在一个安全群里看到这个漏洞,想来自家linux也会受到影响,就跟了一下从漏洞利用到修复。
于是顺手就在自己的云服务器测了一下,当场就崩了。SSH链接断开,接着一段时间自动重启才连上。
赶紧去群里提醒了一下,以防有人跟我一样好奇。
后续又在群里问了其他师傅,普遍存在内核奔溃的风险,多试几次有可能提权成功(见0x03利用步骤)。从攻击者视角,这个漏洞属于伤敌一千自损八百的提权漏洞,那个攻击队提权靠运气的。提个权把shell掉了还好说,把目标业务搞崩了事情可就不简单了。所以这个用漏洞提权,不建议利用。但是我已经不在攻击队了,这不是妥妥的拒绝服务漏洞吗。(经指正,系exp作者留着防恶意使用)
0x01 漏洞原理
CVE-2024-1086 是一个高危 use-after-free 漏洞,于 2024 年 1 月 31 日首次披露,存在于 netfilter: nf_tables 组件中。
Netfilter 是 Linux 内核提供的一个框架,允许进行各种与网络有关的操作,如数据包过滤、网络地址转换(NAT)和数据包混淆。
造成该漏洞的原因是 "nft_verdict_init ()" 函数允许将正值用作钩子判定中的下拉错误,从而导致 "nf_hook_slow ()" 函数在 NF_DROP 与类似 NF_ACCEPT 的下拉错误一起发出时执行双重释放。黑客可以利用 CVE-2024-1086,在本地设备上提升权限,最高可以获得 root 级别访问权限。
0x02 影响版本
Linux内核版本v5.14 - v6.6 版本(不包括分支修补版本v5.15.149、v6.1.76和v6.6.15)
0x03 利用步骤
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
./exploit
0x04 修复方式
方法1:在线升级Linux内核版本
不受影响版本:
v5.4.269 及更高版本
v5.10.210 及更高版本
v6.6.15 及更高版本
v4.19.307 及更高版本
v6.1.76 及更高版本
v5.15.149 及更高版本
v6.7.3 及更高版本
具体步骤可参考
https://mp.weixin.qq.com/s/yBM7L8JRANziAz4_dR3pRA
https://ubuntu.com/security/CVE-2024-1086
方法2:禁用user_namespaces来缓解漏洞,详情可见ubuntu官网修复方案
Mitigation
If not needed, disable the ability for unprivileged users to create namespaces. To do this temporarily, do:
sudo sysctl -w kernel.unprivileged_userns_clone=0
To disable across reboots, do:
echo kernel.unprivileged_userns_clone=0 | \
sudo tee /etc/sysctl.d/99-disable-unpriv-userns.conf
方法3:禁用加载受影响的 netfilter (nf_tables) 内核模块,这里需要自行判断禁用此模块可能带来的后果。
查看是否被加载,如果搜索发现返回为空。那么这个模块可能没有被使用,可以通过禁用netfilter (nf_tables) 模块修复漏洞。
lsmod | grep nf_tables
vi /etc/modprobe.d/nf_tables-blacklist.conf
输入
blacklist nf_tables
输入后保存退出并重启
reboot
重启后进入尝试加载验证
### 此处目录不同内核版本有所不同
cd /usr/lib/modules/5.10.60-9.al8.x86_64/kernel/net/netfilter/
insmod nf_tables.ko
0x05 参考
https://github.com/Notselwyn/CVE-2024-1086
https://ubuntu.com/security/CVE-2024-1086
https://mp.weixin.qq.com/s/yBM7L8JRANziAz4_dR3pRA
写在最后
本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。