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