CVE-2017-16995
描述
该漏洞存在于调用eBPF bpf(2)的Linux内核系统中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题, 低权限用户可使用此漏洞获得管理权限。
影响范围
Linux Kernel Version 4.14-4.4 仅影响Ubuntu/Debian发行版本
漏洞利用
查看版本
1 | root@wuala:/tmp# uname -a |
下载poc ,并编译
1 | $ gcc -o pwned upstream44.c |
执行
1 | $ ./pwned |
漏洞修复
方法一:
目前暂未有明确的补丁升级方案提出,但是建议用户通过修改内核参数限制普通用户使用bpf(2)系统调用来缓解: 设置参数“kernel.unprivileged_bpf_disabled = 1”通过限制对bpf(2)调用了访问来防止这种特权升级root@Ubuntu# echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
方法二:
升级Linux Kernel 版本,需要重启服务器之后生效: 这一步在环境搭建过程中已经描述过了具体的操作,用户只需要修改内核版本即可!
方法三:
代码补丁 https://github.com/torvalds/linux/commit/95a762e2c8c942780948091f8f2a4f32fce1ac6f