Dirty COW (CVE-2016-5195) 的概念验证代码。
该PoC依赖ptrace(而非/proc/self/mem)来修补vDSO。相比修改文件系统二进制文件的PoC,它具有一些优势:
同时也有一些缺点:
当前载荷与 The Sea Watcher 中的几乎相同,当进程调用 clock_gettime() 时执行。如果进程拥有 root 权限且 /tmp/.x 不存在,它会 fork,创建 /tmp/.x,最后向漏洞利用程序创建一个 TCP 反向 shell。虽然不够优雅,但可用于容器逃逸。
检测 vDSO 是否被成功修补并非万无一失。在 恢复 步骤中,vDSO 确实被恢复了,但漏洞利用程序未能正确报告这一点。实际上,vDSO 的变化似乎不会影响漏洞利用进程。