Netfilter 是一个内核子系统 Linux网络数据包过滤和修改工具中发现了一个漏洞 (CVE-2022-25636),该漏洞允许执行内核级代码。已公布一个利用该漏洞的示例,该示例可能允许本地用户提升其权限。 Ubuntu 21.10 版本中禁用了 KASLR 保护机制。该问题自内核 5.4 版本起就已存在。目前已发布补丁程序修复此问题(尚未发布内核维护版本)。您可以在以下页面跟踪发行版中的软件包更新: Debian,SUSE, UbuntuRHEL、Fedora、Gentoo、Arch Linux.
该漏洞是由于nft_fwd_dup_netdev_offload函数(在文件net/netfilter/nf_dup_netdev.c中定义)中计算flow->rule->action.entries数组大小时出现错误导致的,该错误可能导致攻击者控制的数据被泄露。写入超出分配缓冲区边界的内存区域。 在使用数据包处理硬件加速(卸载)的链中配置“dup”和“fwd”规则时,会出现此错误。 由于溢出发生在创建数据包过滤规则和检查卸载支持之前,因此该漏洞也适用于不支持硬件加速的网络设备,例如环回接口。
值得注意的是,该问题很容易利用,因为超出缓冲区的值可以覆盖指向 net_device 结构的指针,并且有关覆盖值的数据将返回到用户空间,这使您可以找到地址存储在执行攻击所需的内存中。 利用该漏洞需要在 nftables 中创建某些规则,这只能通过 CAP_NET_ADMIN 权限来实现,而非特权用户可以在单独的网络命名空间中获得该权限。 该漏洞还可用于攻击容器隔离系统。
来源: opennet.ru
