q1uf3ng/Dirty-Merge

GitHub: q1uf3ng/Dirty-Merge

这是一个利用 Linux 内核 skb_gro_receive() 漏洞实现本地提权的概念验证工具。

Stars: 36 | Forks: 9

# 肮脏合并 PoC 通过 `skb_gro_receive()` 的 SKBFL_SHARED_FRAG 非传播(GRO 层标志剥离)实现的 Linux 内核本地提权漏洞。 ## 构建 ``` gcc -O2 -Wall -Wextra -static -o dirty_merge gro_fragnesia.c ``` ## 要求 - 启用了 CONFIG_XFRM、CONFIG_INET_ESPINTCP、CONFIG_USER_NS 的 Linux 内核 - 用户命名空间已启用(Ubuntu 系统:`sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`) - PATH 环境变量中包含 `ip`(iproute2)和 `ethtool` - veth 内核模块已加载 ## 运行 ``` # 以非特权用户身份: ./dirty_merge # 使用 shell ELF 损坏 /usr/bin/su 的页面缓存,然后执行 execve -> root shell ``` ## 恢复 ``` # 以 root 身份: echo 3 > /proc/sys/vm/drop_caches ``` ## 测试环境 - Ubuntu 24.04 LTS,内核版本 6.8.0-49-generic - 同样影响:Linux 7.1-rc3 及所有未修补 skb_gro_receive() 的内核
标签:Dirty Merge PoC, GRO层标志剥离, Linux内核安全, SKBFL_SHARED_FRAG, skb_gro_receive, SKB共享片段, Ubuntu Linux, Web报告查看器, 内存损坏, 内核漏洞利用, 威胁模拟, 本地提权漏洞, 概念验证PoC, 特权提升, 用户命名空间, 网络协议栈漏洞, 自动化部署