影响范围
Linux Kernel 4.10.6
漏洞类型
容器内核逃逸
利用条件
影响范围应用
漏洞概述
Linux kernel < 4.10.6版本中,net/packet/af_packet.c/packet_set_ring函数未正确验证某些块大小数据,本地用户通过构造的系统调用实现提权,改漏洞亦可用于容器逃逸操作
漏洞环境
切换内核版本至漏洞影响范围内版本:
代码语言:javascript复制./metarget cnv install cve-2017-7308 --verbose
构建漏洞利用镜像
代码语言:javascript复制gcc -o poc poc.c
docker build -t exp .
docker run -it --rm exp
漏洞利用
在容器中执行以下命令完成逃逸(由于环境原因未成功切换内核版本,导致失败,有兴趣的可以试试,流程一样):
代码语言:javascript复制./poc
漏洞EXP
漏洞利用载荷可以去这个项目中查找
https://github.com/Al1ex/LinuxEelvation
安全建议
升级物理主机内核版本到最新版本
参考链接
https://googleprojectzero.blogspot.com/2017/05/exploiting-linux-kernel-via-packet.html
https://www.cyberark.com/resources/threat-research-blog/the-route-to-root-container-escape-using-kernel-exploitation