Bootstrap

CVE-2019-13272(Linux本地内核提权)

概述

Linux执行PTRACE_TRACEME函数时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数,但是,对象struct cred的生存周期规则不允许无条件的将RCU引用转换为稳定引用。PTRACE_TRACEME获取父进程的凭证,使其能够像父进程一样执行父进程能够执行的各种操作,如果恶意低权限子进程使用PTRACE_TRACEME并且该子进程的父进程具有高权限,子进程可获取其父进程的控制权并且使用其父进程的权限调用execve函数创建一个新的高权限进程。

注:该漏洞利用前提:需要目标服务器有桌面环境,所以较为鸡肋的漏洞

复现

添加用户test 密码 123
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看内核版本
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下载poc

git clone https://github.com/bcoles/kernel-exploits.git

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

编译poc,运行exp
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提权成功
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

成功版本

ubuntu 14.4.6 4.4.0-148-generic

;