netfilter 是 Linux 内核中的一个子系统,允许实现各种网络相关操作,如数据包过滤、网络地址转换 (NAT) 和端口转换。而 nf_tables 是 netfilter 的一部分,用于定义和管理防火墙规则。
2024年1月,各Linux发行版官方发布漏洞公告,修复了一个 netfilter:nf_tables 模块中的释放后重用漏洞(CVE-2024-1086)。鉴于该漏洞易于利用,并且允许本地攻击者提升至root权限,建议所有使用受影响Linux版本的企业尽快修复该漏洞。
漏洞成因
漏洞成因是在 nft_verdict_init() 函数的错误处理导致 nf_hook_slow() 函数在 NF_DROP 的分支的时候以 NF_ACCEPT 返回,进而在 NF_HOOK() 函数产生释放后重用漏洞。
漏洞影响
该漏洞可以被本地攻击者利用,从普通用户提升到 root 用户权限。
处置优先级:高
漏洞类型:释放后重用(Use-After-Free)
漏洞危害等级:高
触发方式:本地
权限认证要求:需要本地权限
系统配置要求:默认配置可利用
用户交互要求:无需用户交互
利用成熟度:POC/EXP 已公开
批量可利用性:可使用通用原理 POC/EXP 进行检测/利用
修复复杂度:中,官方提供临时、升级修复方案
3.15 <= Linux Kernel < 6.1.76
6.2 <= Linux Kernel < 6.6.15
6.7 <= Linux Kernel < 6.7.3
Linux Kernel = 6.8-rc1
请注意,不包括以下分支修补版本:v5.10.209、v5.15.149、v6.1.76、v6.6.15。
其他信息:
该漏洞不影响大部分默认配置的容器环境,即使在受影响的 Linux Kernel 版本中运行的容器也不会受到此漏洞的影响。
临时缓解方案
-
通过防止加载受影响的 nf_tables 内核模块可以缓解此漏洞,在禁用之前,需要仔细评估确认禁用该模块带来的影响,例如:iptables 可能需要 nf_tables 模块才能工作。
RedHat/CentOS系:
echo 'blacklist nf_tables' >> /etc/modprobe.d/blacklist-nf_tables.conf
dracut -f
reboot 重启后即可禁用
Debian/Ubuntu系:
echo 'blacklist nf_tables' >> /etc/modprobe.d/blacklist-nf_tables.conf sudo
sudo update-initramfs -u
reboot 重启后即可禁用
-
如果无法禁用 nf_tables 内核模块,在系统上没有运行任何容器的情况下,可以通过禁用用户命名空间来缓解漏洞。在禁用之前,需要仔细评估并确认禁用所带来的影响,例如:许多容器实现需要使用 user_namespaces 来增强安全性和隔离性。
RedHat/CentOS系:
echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf
sysctl -p /etc/sysctl.d/userns.conf
# sudo sysctl -w kernel.unprivileged_userns_clone=0
重启后仍然禁用:
echo kernel.unprivileged_userns_clone=0 | sudo tee /etc/sysctl.d/99-disable-unpriv-userns.conf
升级修复方案
相关发行版本已发布漏洞公告,可参考漏洞公告升级对应的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
1月31日 漏洞在互联网披露
3月26日 漏洞细节在互联网公开
6月5日 长亭安全应急响应中心发布漏洞通告
参考资料:
[1].https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f342de4e2f33e0e39165d8639387aa6c19dff660
全力进行产品升级
及时将风险提示预案发送给客户
检测业务是否收到此次漏洞影响
请联系长亭应急服务团队
7*24小时,守护您的安全
第一时间找到我们:
应急响应热线:4000-327-707
原文始发于微信公众号(长亭安全应急响应中心):【已复现】Linux Kernel nf_tables 本地权限提升漏洞(CVE-2024-1086)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论