CVE-2019-13272:Linux本地内核提权漏洞复现

Posted Zad

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CVE-2019-13272:Linux本地内核提权漏洞复现相关的知识,希望对你有一定的参考价值。

0x00 简介


2019年07月20日,Linux正式修复了一个本地内核提权漏洞。通过此漏洞,攻击者可将普通权限用户提升为Root权限。

 

0x01 漏洞概述


当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数。但是,对象struct cred的生存周期规则不允许无条件地将RCU引用转换为稳定引用。

PTRACE_TRACEME获取父进程的凭证,使其能够像父进程一样执行父进程能够执行的各种操作。如果恶意低权限子进程使用PTRACE_TRACEME并且该子进程的父进程具有高权限,该子进程可获取其父进程的控制权并且使用其父进程的权限调用execve函数创建一个新的高权限进程。


0x02 影响版本


目前受影响的Linux内核版本:

Linux Kernel < 5.1.17

 

0x03 环境搭建


创建一个低权限账户

useradd test   # 创建test用户passwd test    # 给test用户设置密码

 

 

 

切换到test用户

su test

 

 

 

 

 

查看系统内核版本是否小于5.1.17

 

uname-a

 

 

 

 

 

0x04 漏洞利用


查看当前用户和当前用户的UID

 

 

 

 

 

下载漏洞利用脚本,保存为poc.c文件

https://github.com/bcoles/kernel-exploits/tree/master/CVE-2019-13272

 

 

使用gcc编译c文件,生成exp文件

gcc poc.c -o exp

 

 

 

 

运行生成的exp

./exp

 

 

 

 

 

 

可以看到已成功利用exp将普通用户test提升为root

查看一下成功利用后的当前用户

 

 

0x05 修复方式


补丁修复链接:

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

 

以上是关于CVE-2019-13272:Linux本地内核提权漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章

linux CVE-2019-13272 本地特权漏洞

Linux内核提权漏洞(CVE-2016-8655)

CVE-2022-0847 Linux内核提权漏洞分析

CVE-2022-0847 Linux内核提权漏洞分析

CVE-2022-0847 Linux内核提权漏洞分析

脏牛Linux本地提权漏洞复现(CVE-2016-5195)