whosfault/CVE-2026-43284
GitHub: whosfault/CVE-2026-43284
这是一个利用CVE-2026-43284漏洞通过内核页面缓存写入实现权限提升的工具。
Stars: 0 | Forks: 0
CVE-2026-43284
xfrm/ESP 页面缓存写入利用,4字节原语,64次迭代
用于将256字节的setuid二进制文件覆盖为root shell ELF
构建:
gcc -O0 -o dirtyfrag dirtyfrag.c -lutil
用法:
./dirtyfrag [/path/to/setuid]
默认为/usr/bin/su,需要CONFIG_XFRM、CONFIG_INET_ESP、CONFIG_USER_NS。
仅适用于x86_64架构,即使algif_aead被列入黑名单也能工作。
测试于:
wsl2 debian 6.6.87.2-microsoft-standard-wsl2
ubuntu 24.04
fedora 44
原理:
取消共享用户命名空间+网络命名空间,注册64个XFRM安全关联,shellcode字节位于ESN seq_hi字段,通过UDP 4500端口及UDP_ENCAP_ESPINUDP触发。
通过splice将目标文件读入管道,再将管道splice至UDP套接字。
页面缓存页面通过跳过COW路径进入ESP散列表,authencesn
散列遍历在关联长度+加密长度偏移处写入seq_hi字节。
HMAC校验失败,但写入操作在页面缓存中持续存在。
负载为setgid(0)+setuid(0)+execve(/bin/sh)。
恢复:
保存原始字节,在shell退出后写回。
如果恢复失败,尝试执行 echo 3 | sudo tee /proc/sys/vm/drop_caches
由f4c50a4034e6补丁修复(主线,2026年5月8日)。
自cac2661c53f3起存在漏洞(2017年1月)。
备注:
存在针对无用户命名空间系统的rxrpc变体(CVE-2026-43500)。目标为/etc/passwd,使用pcbc(fcrypt)进行8字节暴力破解,但此处未包含。
标签:CVE-2026-43284, dirty frag, ESP加密, GCC编译, Linux内核, root shell获取, setuid覆盖, Web报告查看器, xfrm协议, 代码执行, 内核漏洞, 内核漏洞利用工具, 协议分析, 威胁模拟, 子域名枚举, 客户端加密, 提权漏洞, 权限提升, 漏洞开发, 用户命名空间, 系统安全, 系统攻击, 网络命名空间, 网络安全, 隐私保护, 页面缓存