前言
Linux Netfilter 是一个在 Linux 内核中的网络数据包处理框架,也称作 iptables
,它可以通过各种规则和过滤器,基于数据包的来源、目标地址、协议类型、端口号等信息,控制网络流量和数据包的转发和处理,是 Linux 系统网络安全性和可靠性的重要组成部分
声明
本篇文章仅用于漏洞复现与技术研究,请勿利用文章内的相关技术从事非法测试,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用!!!
一、漏洞描述
Linux内核的Netfilter子系统在处理批量请求更新nf_tables 配置信息时,由于处理匿名集的逻辑存在缺陷,存在释放重利用(UAF) 漏洞。利用该漏洞可实现对内核内存的任意读写,具有CAP_NET_ADMIN权限的本地用户可利用该漏洞提升至权限至ROOT级别
二、影响版本
Linux Kernel <= v6.3.1
三、本地复现
Tips: 注意,一旦在易受攻击的系统上启动了PoC(概念验证),该系统可能会处于不稳定状态,并且内核内存可能被破坏。我们强烈建议在专用系统上测试PoC,以避免可能的数据损坏。
系统环境: Ubuntu 23.04
Linux Kernel版本
在复现之前需要使用下面几条命令安装所需环境
sudo apt install gcc libmnl-dev libnftnl-dev
POC地址:https://github.com/Liuk3r/CVE-2023-32233
exploit.c源码:https://www.openwall.com/lists/oss-security/2023/05/15/5/3
运行以下命令来构建POC二进制文件
gcc -Wall -o exploit exploit.c -lmnl -lnftnl
执行 ./exploit
其他Ubuntu系统版本复现过程中运行报错,请其他师傅另行测试!!!
四、修复方案
官方已发布补丁修复了此漏洞。
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c1592a89942e9678f7d9c8030efa777c0d57edab