CVE-2017-16995最初是由Google project zero披露,并公开了相关poc,在2017年12月23日,Bruce Leidl公布了提权代码。在2018年3月中旬,Vitaly Nikolenko在推特上发布消息说Ubuntu 16.04存在高危漏洞,可以进行本地提权,同时公布了exp。整个过程仅利用精心构造的数据就可以劫持控制流,是属于Data-Oriented Attacks在Linux kernel上的一个典型应用。

漏洞分析

https://x3h1n.github.io/2020/03/07/CVE-2017-16995%E5%A4%8D%E7%8E%B0/

影响范围

Ubuntu 16.04.1~Ubuntu 16.04.4均存在此漏洞;

仅影响 Ubuntu/Debian发行版本。

内核影响版本:Linux Kernel Version 4.14 ~ 4.4

测试:4.4.0-81-generic

EXP

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

漏洞复现

image-20210915135454316

修复

方法一:通过修改内核参数限制普通用户使用bpf(2)系统调用来缓解:

设置参数kernel.unprivileged_bpf_disabled = 1通过限制对bpf(2)调用了访问来防止这种特权升级。

方法二:升级Linux Kernel 版本,需要重启服务器之后生效

方法三:使用官方补丁进行修复

https://github.com/torvalds/linux/commit/95a762e2c8c942780948091f8f2a4f32fce1ac6f

日志特征

auth.log

1
2
Ubuntu 16.04.1~Ubuntu 16.04.4均存在此漏洞;
仅影响 Ubuntu/Debian发行版本。

image-20210915140005391