Linux kernel本地提权缝隙安全公告

颁布功夫 2019-07-30

? 缝隙编号和级别


CVE编号:CVE-2019-13272,危险级别:高危,CVSS分值:7.8


? 影响版本


受影响的版本


Linux Kernel < 5.1.17


? 缝隙概述


Linux kernel是美国Linux基金会颁布的开源操作系统Linux所使用的内核。


Linux kernel 5.1.17之前版本中存在安全缝隙,该缝隙源于kernel/ptrace.c文件的ptrace_link没有正确处置对凭证的纪录。


当挪用PTRACE_TRACEME时,ptrace_link函数将获得对父过程痛处的RCU引用,而后将该指针指向get_cred函数。但是,对象struct cred的生计周期规定不允许无前提地将RCU引用转换为不变引用。


PTRACE_TRACEME获取父过程的凭证,使其可能像父过程一样执行父过程可能执行的各类操作。若是恶意低权限子过程使用PTRACE_TRACEME并且该子过程的父过程拥有高权限,该子过程可获取其父过程的节造权并且使用其父过程的权限挪用execve函数创建一个新的高权限过程。


攻击者最终节造拥有高权限的两个过程ptrace关系,能够被用来ptrace suid二进造文件并获得root权限。


? 缝隙验证


EXP:https://cxsecurity.com/issue/WLB-2019070127


? 建复建议


1.目前厂商已颁布升级补丁以建复缝隙,补丁获取链接:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6994eefb0053799d2e07cd140df6c2ea106c41ee


2.升级Linux kernel至5.1.17以上版本。

? 参考链接


https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6994eefb0053799d2e07cd140df6c2ea106c41ee