赞
踩
近日,绿盟科技CERT监测网上有研究员公开披露了一个Linux内核权限提升漏洞(CVE-2024-1086)的细节信息与验证工具,由于Linux内核的netfilter:nf_tables组件存在释放后重利用漏洞, nft_verdict_init() 函数允许在钩子判定中使用正值作为丢弃错误,当 NF_DROP 发出类似于 NF_ACCEPT 的丢弃错误时,nf_hook_slow() 函数会导致双重释放漏洞,本地攻击者利用此漏洞可将普通用户权限提升至 root 权限。目前已有PoC公开,请相关用户尽快采取措施进行防护。目前已有PoC公开,请相关用户尽快采取措施进行防护。
Netfilter是Linux内核提供的一个框架,它允许以自定义处理程序的形式实现各种与网络相关的操作。Netfilter为数据包过滤、网络地址转换和端口转换提供了各种功能和操作,它们提供了通过网络引导数据包和禁止数据包到达网络中的敏感位置所需的功能。
参考链接:
https://bugzilla.redhat.com/show_bug.cgi?id=2262126
受影响版本
注:已知Redhat、Ubuntu、Debia等Linux发行版受影响
不受影响版本
解决:
临时解决方案
1、通过防止加载受影响的 nf_tables 内核模块可以缓解此漏洞,在禁用之前,需要仔细评估确认禁用该模块带来的影响,例如:iptables 可能需要 nf_tables 模块才能工作。
RedHat/CentOS:
- echo 'blacklist nf_tables' >> /etc/modprobe.d/blacklist-nf_tables.conf
- dracut -f
- reboot 重启后即可禁用 重启的时候看下服务启动的那些服务
Debian/Ubuntu:
- # sudo echo 'blacklist nf_tables' >> /etc/modprobe.d/blacklist-nf_tables.conf
- # sudo update-initramfs -u
- # reboot 重启后即可禁用
2、如果无法禁用 nf_tables 内核模块,在系统上没有运行任何容器的情况下,可以通过禁用用户命名空间来缓解漏洞。在禁用之前,需要仔细评估并确认禁用所带来的影响,例如:许多容器实现需要使用 user_namespaces 来增强安全性和隔离性。
- # echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
- # sysctl -p /etc/sysctl.d/userns.conf
Debian/Ubuntu:
如果不需要,可禁用非特权用户创建命名空间的能力。临时禁用执行以下命令:# sudo sysctl -w kernel.unprivileged_userns_clone=0
重启后仍然禁用:
# echo kernel.unprivileged_userns_clone=0 | sudo tee /etc/sysctl.d/99-disable-unpriv-userns.conf
参考:How do I prevent a kernel module from loading automatically? - Red Hat Customer Portal
升级修复方案
目前该漏洞已经修复,受影响用户可升级到Linux内核v5.15.149、v6.1.76、v6.6.15或更高版本。
相关发行版本已发布漏洞公告,可参考漏洞公告升级对应的Linux内核。
Ubuntu公告:https://ubuntu.com/security/CVE-2024-1086
CentOS漏洞公告:https://lists.centos.org/pipermail/centos-announce/2024-March/099235.html
RedHat漏洞公告:https://access.redhat.com/security/cve/cve-2024-1086
Debian漏洞公告:https://security-tracker.debian.org/tracker/CVE-2024-1086
统信漏洞公告:https://src.uniontech.com/#/security_advisory_detail?utsa_id=UTSA-2024-000633
麒麟漏洞公告:https://kylinos.cn/support/loophole/patch/5561.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。