Linux Kernel 权限提升漏洞(CVE-2023-32233) 修复
Linux Kernel 权限提升漏洞(CVE-2023-32233) 修复
2023年5月5日,MITRE发布了Linux Kernel 权限提升漏洞(CVE-2023-32233):Linux Kernel 的 Netfilter nf_tables子系统存在释放后重用漏洞,在处理 Netfilter nf_tables 基本操作请求时,由于匿名集处理不当,导致可以任意读写内核内存,拥有低权限的本地攻击者可以利用该漏洞将权限提升至ROOT权限。
可以通过查看内核配置判断编译内核时是否启用了用户命名空间:
grep CONFIG_USER_NS /boot/config-$(uname -r)
如果输出为:CONFIG_USER_NS=y
,表示启用了该功能
一种比较简单的防护方法是通过将 user.max_user_namespaces 设置为 0 来禁用用户命名空间:
echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
配置文件名“userns.conf”只是举例,命名并不重要,重要的是文件中的配置信息
使用sysctl -p
应用配置以后,以普通用户身份执行unshare --user -r /bin/bash
来验证禁用是否成功,未禁用的情况下,用户身份会切换为新的 user namespace
中的root(不是真正的root),已禁用的情况下,命令会返回:unshare failed: No space left on device
解除禁用的方法就是设置 user.max_user_namespaces 大于 0
本随笔中举例使用的环境:CentOS7.6 和 Ubuntu20.04,CentOS7.6 默认禁用用户命名空间
参考资料:
[1] MITRE https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-32233
[2] CVE-2023-32233 - 红帽客户门户 (redhat.com)