CVE-2019-13272
发布时间:
2019月7月17日
影响内核版本:
Linux Kernel < 5.1.17
漏洞描述:
译文
kernel 5.1.17之前版本中存在安全漏洞,该漏洞源于kernel/ptrace.c文件的ptrace_link没有正确处理对凭证的记录。攻击者可利用该漏洞获取root访问权限。由于 PTRACE_TRACEME允许的borked权限,利用bug在概念上很有趣。对象生命周期处理问题可能会导致内存损坏,但它需要以精确的方式进行代码竞争。事实PTRACE_TRACEME证明,除了父进程之外,内核还记录了跟踪器的凭据。研究人员概述的方案涉及一个父进程,该进程创建一个子进程,这个子进程会创建子进程。第一个子进程使用命令pkexec(用于以root身份运行程序),第二个子进程运行PTRACE_TRACEME,然后第一个子进程丢弃其权限。最终结果是父进程可以使用ptrace来控制第一个子进程,后者可以使用ptrace来控制第二个子进程 - 从而让攻击者获得对两个进程的控制权。
漏洞复现:
作者已测试成功的版本:
局限:
我尝试在ssh登录时去复现,未能成功。
相关链接:
https://nvd.nist.gov/vuln/detail/CVE-2019-13272
https://www.cvedetails.com/cve/CVE-2019-13272/
https://github.com/bcoles/kernel-exploits/tree/master/CVE-2019-13272
https://bugs.chromium.org/p/project-zero/issues/detail?id=1903
https://raw.githubusercontent.com/bcoles/kernel-exploits/master/CVE-2019-13272/poc.c
https://github.com/torvalds/linux/commit/6994eefb0053799d2e07cd140df6c2ea106c41ee
https://asciinema.org/a/6HFa1zk4bZKFjXDcr5LKnyiH1
https://www.anquanke.com/post/id/183438
https://www.anquanke.com/post/id/183528
补丁地址:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6994eefb0053799d2e07cd140df6c2ea106c41e