本仓库包含针对 CVE-2022-0185 的演示利用程序。这里有两个版本。
非 kctf 版本(FUSE 版本)专门针对内核版本为 5.11.0-44 的 Ubuntu。它不会直接返回 root shell,而是将 /bin/bash 设置为 suid,从而轻松实现权限提升。调整 single_start 和 modprobe_path 偏移量后,应该能使其适用于大多数内核版本为 5.7 或更高版本的 Ubuntu;对于 5.1 到 5.7 之间的版本,需要像 kctf 版本那样改进 spray 技术。该利用策略依赖于 FUSE 和 SYSVIPC 弹性对象来实现任意写入。
kctf 版本以 root 用户在根命名空间中实现远程代码执行(RCE),但可靠性最多只有 50% —— 它针对的是 Kubernetes 1.22(1.22.3-gke.700)。该利用策略依赖于管道和 SYSVIPC 弹性对象来触发栈转移,并在内核空间执行 ROP 链。