Linux内核netfilter漏洞可导致攻击者权限提升

华盟原创文章投稿奖励计划

自动草稿

Part01

漏洞概述

Linux内核netfilter的ipset子系统中发现一个高危漏洞,允许本地攻击者将权限提升至root级别。该漏洞存在于ipset框架的bitmap:ip实现中,源于处理CIDR格式IP地址范围时缺乏足够的范围验证。由于缺少边界检查,攻击者可触发内核空间的越界内存写入,最终实现完全控制系统。

关键要点

  1. Linux内核netfilter的ipset子系统存在高危漏洞,可触发越界内存写入
  2. 具备本地访问权限的攻击者可利用此漏洞获取root权限
  3. 应立即更新至已修复的内核版本


Part02

技术细节

该漏洞影响6.12.2及之前版本的内核,最新补丁已通过在所有代码路径实施适当的范围验证来解决此问题。
根据SSD安全披露报告,该安全缺陷位于net/netfilter/ipset/ip_set_bitmap_ip.c文件中的bitmap_ip_uadt函数。当通过netfilter netlink接口使用CIDR表示法指定IP范围时,漏洞代码路径未能验证计算得出的IP范围是否位于分配的bitmap边界内。
自动草稿
根本原因在于当tb[IPSET_ATTR_CIDR]属性存在而tb[IPSET_ATTR_IP_TO]缺失时,ip_set_mask_from_to函数基于CIDR掩码计算新的ip和ip_to值,但不同于显式范围的情况,此时没有验证确保结果ip值不低于map->first_ip。精心构造的CIDR值可导致整数下溢,进而在bitmap操作中将计算出的索引从u32截断为u16时引发越界数组访问。
Part03

利用方式与影响

利用此漏洞需要本地访问权限但无需特殊权限,这使得它在多用户环境或容器化系统中尤为危险。攻击者可通过netfilter netlink套接字接口发送恶意构造的ipset命令来触发漏洞代码路径。
自动草稿
攻击技术涉及创建多个bitmap:ip对象以建立可预测的内存布局,然后利用越界写入原语覆盖关键内核数据结构。特别是,攻击者可修改相邻bitmap_ip对象的members指针,将有限的写入原语转变为任意内存写入能力。概念验证展示了如何覆盖控制核心转储处理的core_pattern内核参数,使攻击者在触发段错误时能以root权限执行任意命令。


Part04

修复建议

该漏洞的影响不仅限于简单的权限提升,成功利用将赋予攻击者对受影响系统的完全控制权,包括安装rootkit、修改系统配置、访问敏感数据以及可能横向渗透到网络上的其他系统。
自动草稿
运行受影响内核版本的组织应优先应用可用补丁,该补丁通过实施全面的范围验证来解决此问题,无论IP范围如何指定,都会检查ip < map->first_ip和ip_to > map->last_ip条件。

参考来源:

Linux Kernel netfilter Vulnerability Let Attackers Escalate Privileges

https://cybersecuritynews.com/linux-kernel-netfilter-vulnerability/

文章来源:FreeBuf


© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容