DirtyClone 是一个用 C 编写的诊断性、概念验证本地权限提升工具。它针对源代码中描述为 CVE-2026-43503 的内核/XFRM 相关漏洞利用路径,仅适用于受控环境中的授权安全研究。
本仓库包含:
当前实现执行以下高级步骤:
此工具仅用于授权的安全测试。在未获得明确许可的系统上运行可能是非法的,并可能影响系统完整性。
首先安装所需的 OpenSSL 开发包:
# Debian/Ubuntu
sudo apt-get install libssl-dev
# Fedora
sudo dnf install openssl-devel
# Arch Linux
sudo pacman -S openssl
然后编译二进制文件:
gcc -o dirtyclone dirtyclone.c -lcrypto -Wall -O2
运行程序:
./dirtyclone
可选参数:
./dirtyclone -q # 安静模式
./dirtyclone -v # 详细模式(默认)
./dirtyclone -h # 显示帮助
运行时,程序执行以下操作:
该漏洞利用围绕一个简单思想构建:程序准备一个精心构造的 ESP/XFRM 载荷,导致内核将数据解密到页面缓存支持的内存区域,然后检查目标 SUID 二进制文件中的字节是否已更改。
实际运行中,程序执行以下操作:
/usr/bin/su 并将其映射到内存;这是一个概念验证流程,而非通用权限提升框架。其目的是演示漏洞利用机制,并帮助验证目标内核是否仍然暴露易受攻击的行为。
以下简化示例从高层次展示了相同的概念:
#include <stdio.h>
#include <string.h>
static int dummy_exploit(unsigned char *target_bytes) {
unsigned char expected[] = {0x31, 0x0f, 0x05};
memcpy(target_bytes, expected, sizeof(expected));
return 0;
}
int main(void) {
unsigned char target[16] = {0};
dummy_exploit(target);
printf("Patched bytes: %02x %02x %02x\n", target[0], target[1], target[2]);
return 0;
}
实际项目使用相同的原理,但将载荷打包为 ESP/XFRM 风格的数据包,并通过网络堆栈驱动内核路径,而不是简单的内存复制。
设置阶段
XFRM 准备
载荷构建
投递阶段
验证与执行
实现包括:
atexit 和信号处理程序注册的清理例程,fork/execvp 的安全命令执行,源代码需要具有以下条件的 Linux 环境:
ip、iptables 和 modprobe,/usr/bin/su 的目标二进制文件,程序旨在显示诊断性 PoC 摘要,然后要么:
如果漏洞利用未触发,程序会打印一条清晰的消息,表明内核可能已修补。
仅在以下情况下使用此项目:
切勿在生产系统或未经许可评估的系统上运行此代码。
源代码头部标识作者为 MrAashish0x1 (gl1tch0x1)。该仓库不包含单独的许可文件,因此此代码应视为研究材料,而非生产软件。