CVE-2024-1086 本地提权:触发与处置
【免费下载链接】CVE-2024-1086Universal local privilege escalation Proof-of-Concept exploit for CVE-2024-1086, working on most Linux kernels between v5.14 and v6.6, including Debian, Ubuntu, and KernelCTF. The success rate is 99.4% in KernelCTF images.项目地址: https://gitcode.com/GitHub_Trending/cv/CVE-2024-1086
CVE-2024-1086 是 Linux 内核 v5.14–v6.6 上 nf_tables 的本地提权漏洞,非特权用户可一步拿到 root。这篇备忘先对照受影响面,再拆解攻击链,走一遍沙箱复现,最后给分级处置步骤。
场景:非特权用户变 root
例行巡检,生产机上多出一个没人申请过的 root shell——命令历史和 sudo 记录都干净,唯一痕迹是一个秒进秒退的进程。这是内核 nf_tables 缺陷留下的本地提权场景:不用密码、不用 sudo,普通账户就够了。下面先对照谁受影响,再拆机制、走一遍复现、给出处置。
受影响面:一张表对照
| 内核版本区间 | 修复补丁版本 | 默认满足利用条件的发行版 | 架构与 CONFIG 约束 |
|---|---|---|---|
| v5.14 – v6.6(可利用) | v5.15.149 / v6.1.76 / v6.6.15 及以上(2024 年 2 月补丁) | Debian、Ubuntu 与 KernelCTF | 仅 x64/amd64 测试;需 CONFIG_NF_TABLES=y、CONFIG_USER_NS=y、unprivileged_userns_clone=1;v6.4+ 开了 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y(含 Ubuntu v6.5)时不可利用 |
| v3.15 – v6.8-rc1(底层缺陷) | 同上修复分支 | 未测试 | 同上 |
KernelCTF 镜像环境的实测成功率:99.4%。高网络活动的系统上过程极不稳定,周围 WiFi 网络密集时尤其明显,测试机建议直接在 BIOS 里关掉无线网卡。
机制拆解:输入、溢出、逃逸
缺陷在内核 nf_tables 模块的内存管理上,攻击链拆成三段。输入:非特权用户先建用户命名空间,拿到自己的 netns,再向系统注入构造好的对象定义。溢出:处理这些定义时的内存管理缺陷让堆块发生越界写,踩坏相邻的内核对象。逃逸:配合 PTE 页与 skb 的内存喷溅,把被踩坏的内存变成可控的执行流,进程最终拿到 root 权限。整条链的起点是非特权用户命名空间——没有它,链路在输入环节就断了,这也是下面处置的第一抓手。
沙箱复现:三步走一遍
第一步:准备一台隔离测试机。内核落在 v5.14–v6.6 且未打补丁,物理内存 ≤32GiB(超过就调大 src/config.h 里的 CONFIG_PHYS_MEM);测试机带 WiFi 的话,BIOS 里关掉无线网卡。
git clone https://gitcode.com/GitHub_Trending/cv/CVE-2024-1086 cd CVE-2024-1086 makemake走 musl-gcc 静态编译(见 Makefile),产物exploit拿到测试机上直接跑;不方便编译的话,用项目发布页提供的预编译 x64 二进制。
第二步:执行。
./exploit走 SSH 或反向 shell 的话,先把 src/config.h 里的 CONFIG_REDIRECT_LOG 切成 1,输出重定向到本地日志文件,少制造网络噪音。
第三步:看结果。成功时测试机上出现 root shell,用id验证。
⚠️ 跑完 exploit 后可能出现内核恐慌(系统崩溃)——这是开发者故意未修复的副作用,目的是让滥用尝试更容易被发现、在真实环境中不实用。实验室环境不受影响:root shell 依旧可用,持久化可以走磁盘。
处置手册:先止血再加固
必须今天做:如何关闭 unprivileged_userns_clone
- 对照上表核对内核版本:落在 v5.14–v6.6 且未含修复补丁,进紧急补丁队列
- 升级目标:v5.15.149 / v6.1.76 / v6.6.15 及以上(按各机器所属分支选)
- 暂不升级的机器:
sysctl -w kernel.unprivileged_userns_clone=0,直接卡住攻击链的输入环节 - ✅ 验证非特权用户已无法创建用户命名空间,确认卡点生效
- 不需要 nf_tables 的话,评估
modprobe -r nf_tables,先摸清业务影响
本周内完成:Linux 内核补丁版本对照
- 订阅发行版内核安全公告,把补丁跟进机制立起来
- 按上表逐条对照版本,确认机器池里没有漏网的旧内核
- 收缩业务机的非必要账户,本地账号保持最小集
- 把本地提权类行为纳入内核审计(auditd / eBPF),异常路径告警
现在去自己机器上跑这条:
cat /proc/sys/kernel/unprivileged_userns_clone输出是 1 的话,先做上面前两条。
【免费下载链接】CVE-2024-1086Universal local privilege escalation Proof-of-Concept exploit for CVE-2024-1086, working on most Linux kernels between v5.14 and v6.6, including Debian, Ubuntu, and KernelCTF. The success rate is 99.4% in KernelCTF images.项目地址: https://gitcode.com/GitHub_Trending/cv/CVE-2024-1086
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考