Below you will find pages that utilize the taxonomy term “提权”
July 6, 2023
深入分析 CVE-2023-32233:Linux 内核 Netfilter UAF 提权漏洞
最近研究了 CVE-2023-32233,这是一个影响 Linux 6.3 及之前版本 的 UAF(Use-After-Free) 漏洞。由于 nftables 近年来已经成为 Linux 的主要防火墙组件,因此该漏洞的影响范围较广,攻击者可以利用它在 CAP_NET_ADMIN 权限下提权至 root。
1. 漏洞背景
1.1 Netfilter 与 nftables 简介
Netfilter 是 Linux 内核防火墙的核心组件,而 nftables 作为 iptables 的替代方案,被广泛应用于防火墙、流量过滤和 NAT 规则管理。
该漏洞出现在 nftables 代码逻辑中,攻击者可以通过 UAF 访问已释放的 nft_set_elem 结构,导致堆内存覆盖,最终实现提权。
1.2 影响范围
受影响的内核版本:
- Linux 5.13 - 6.3
- Ubuntu 22.04、Debian 11、Arch Linux、Fedora 37 等默认开启
nftables的系统
2. 漏洞分析
2.1 代码成因
漏洞的核心问题在于 nft_set_elem 结构释放后,仍然被访问:
static void nft_setelem_activate(const struct nft_ctx *ctx,
struct nft_set *set,
struct nft_set_elem *elem)
{
if (nft_set_elem_is_active(set, elem))
return;
elem->priv = nft_trans_elem(ctx->tx);
}
在 nft_setelem_activate() 中,elem->priv 被赋值为 nft_trans_elem(ctx->tx),但 elem 可能已经被释放,这样攻击者就能劫持 priv 指针,导致UAF 访问。