【漏洞通告】CVE-2020-14386: Linux内核权限提升漏洞通告
2020.10.10
摘要
近日,openwall邮件组 发布了Linux kernel 存在一个权限提升漏洞(CVE-2020-14386),漏洞等级: 高危 ,漏洞评分: 7.8
1.漏洞概述
近日,openwall邮件组 发布了Linux kernel 存在一个权限提升漏洞(CVE-2020-14386),漏洞等级: 高危 ,漏洞评分: 7.8。由于net/packet/af_packet.c在处理AF_PACKET时存在整数溢出,导致可进行越界写从而实现权限提升,攻击者可以利用此漏洞从非特权进程获得系统root权限。使用了Linux Kernel的openshift/docker/kubernetes等虚拟化产品可能会受到该漏洞影响,导致虚拟化逃逸,请相关用户采取措施进行防护。
目前使用内核进行虚拟化的产品如 openshift/docker/kubernetes 在错误的配置策略下,同样受到该漏洞影响,并可能造成虚拟环境逃逸。
Linux发行版高于4.6的内核版本的源码 net/packet/af_packet.c 在处理AF_PACKET时存在一处整数溢出漏洞。该漏洞的触发需要本地低权限用户/可执行文件 启用 CAP_NET_RAW 功能。
2.受影响版本
- 4.6<= Linux kernel < 5.9-rc4
- CentOS = 8
- Ubuntu => 18.04
- RHEL = 8
- Debian = 9-10
Linux系统用户可以通过查看版本来判断当前系统是否在受影响范围内,查看系统版本信息命令如下:
cat /proc/version
如显示的 Linux version 大于 4.6 且小于 5.9,则漏洞可能存在。
3.通用修补建议
1. 可以应用如下 commit 的内核补丁 acf69c946233259ab4d64f8869d4037a198c7f06
CVE-2020-14386 linux-kernel-git-patch
2. 根据 RedHat 的建议关闭 CAP_NET_RAW 功能,对于单个可执行程序
# 查看程序的 cap 权限 getcap /bin/ping /bin/ping cap_net_raw=ep # 删除 cap_net_raw 权限 setcap cap_net_raw-ep /bin/ping # 检查 getcap /bin/ping /bin/ping = |
同时 RedHat 指出在 Red Hat Enterprise Linux 8上,还可以通过利用非特权用户名称空间来获得CAP_NET_RAW功能, 可以通过如下措施缓解。
echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf sysctl -p /etc/sysctl.d/userns.conf |
4.参考链接
https://www.openwall.com/lists/oss-security/2020/09/03/3
https://access.redhat.com/security/cve/cve-2020-14386