我个人对 CVE-2022-0847(脏管道)的 PoC 与利用代码
这是该漏洞的简单 PoC,按如下方式编译文件 poc.c:
$ gcc poc.c -o poc -static
按如下方式运行:
./poc target_file offset_in_file data
请确保目标文件至少是可读的。
在 Linux 内核 5.13.19 上测试的结果:

我选择通过覆写 SUID 应用程序来获得 ROOT 权限,从而提供 ROOT SHELL。
只需编译文件 exploit_suid.c 并按如下方式运行:
$ gcc exploit_suid.c -o exp -static
$ ./exp target_file
为了测试,我选择了 /bin/passwd 作为目标 SUID 文件,在 Ubuntu 21.10(内核 5.13.0)上测试的结果如下:

你可以访问我的博客获取有关该漏洞的更多信息。