Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-23111-nftables-lab — 暴露检查器和安全的可丢弃虚拟机实验环境,用于 CVE-2026-23111(Linux nf_tables 释放后使用本地权限提升)。防御性:检测、缓解、多发行版实验环境。不含漏洞利用代码。 | Kitploit
工具/GitHubGitHub/ishankaru/cve-2026-23111-nftables-lab
权限提升漏洞分析配置审计学习与教育精选资源容器逃逸实验室与实践
GitHubishankaru/cve-2026-23111-nftables-lab

CVE-2026-23111-nftables-lab

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

暴露检查器和安全的可丢弃虚拟机实验环境,用于 CVE-2026-23111(Linux nf_tables 释放后使用本地权限提升)。防御性:检测、缓解、多发行版实验环境。不含漏洞利用代码。

查看仓库
2103个月前尚未审核

CVE-2026-23111 nf_tables LPE(本地权限提升):暴露检测与安全实验环境

针对 CVE-2026-23111 的防御性工具与可复现的虚拟机实验环境。该漏洞是 Linux 内核 nf_tables 中的释放后使用(use-after-free)本地权限提升漏洞(源于 nft_map_catchall_activate() 中元素活动性检查被逻辑取反,即 "off by !" 缺陷)。非特权本地用户可借助非特权用户命名空间提升至 root 权限,并逃逸出容器。

本仓库不含任何漏洞利用代码。它包含一个只读暴露检测器、一个用于创建真正非特权用户的脚本,以及虚拟机定义,让你能够安全地触达该缺陷并研究公开的研究成果。完整的提权到 root 的利用链位于下方链接的公开披露中,而非本仓库。

完整分析文章:https://techearl.com/cve-2026-23111-nftables-lpe

文件

  • check-exposure.sh — 只读检测器:对比内核版本与已修复版本、检测 nf_tables 是否存在、检查非特权 userns 前置条件,以及内核日志中的崩溃特征。
  • setup-unprivileged-user.sh — 创建一个没有 sudo 权限的 labuser,并证明其确为普通非特权用户。LPE 测试的意义在于:必须从一个本身无法成为 root 的用户开始。
  • Vagrantfile — 一次性的 Debian 12 和 AlmaLinux 10 虚拟机(Multipass 无法启动的发行版)。

为什么用虚拟机而不是容器

容器与宿主机共享内核。在容器内运行内核漏洞利用,实际上是在针对你真实的主机内核执行,因此一次"测试"就可能危及实际机器本身。请使用拥有独立内核的一次性虚拟机。

发行版与启动方式

Multipass 只能启动 Ubuntu,因此其余发行版使用 Vagrant。

锁定易受攻击的内核(按发行版)

每个发行版都需要不同的技巧,才能在云虚拟机上启动一个真正处于修复前、且网络功能仍然可用的内核:

  • Ubuntu(云环境): 使用旧版 linux-aws,而不是 linux-generic。通用内核缺少 AWS ENA 网卡驱动,在 Nitro 实例上会失去 SSH 连接。执行 sudo apt install -y linux-image-6.8.0-1028-aws(低于已修复的 6.8.0-1051),在 GRUB 中将其设为默认启动项,然后重启。在本地虚拟化环境中,通用内核没有问题。
  • Debian: 主软件源只提供当前(已修补)内核。添加一个修复前的快照镜像并安装 cloud 内核(可保留 ENA 驱动):deb [check-valid-until=no trusted=yes] https://snapshot.debian.org/archive/debian/20251201T000000Z/ bookworm main,然后执行 apt install -y linux-image-6.1.0-39-cloud-amd64=6.1.148-1(低于已修复的 6.1.164-1,DSA-6163-1)。
  • AlmaLinux/Rocky: 存在漏洞的 el10_1 内核位于 10.1 vault 中。将 dnf 指向 https://vault.almalinux.org/10.1/BaseOS/x86_64/os/,执行 dnf install kernel-6.12.0-124.38.1.el10_1,然后运行 。

运行方式(任意虚拟机)

root@kitploit:~
# 1. Create a real unprivileged user and prove it cannot sudo.
#    (useradd, not Debian's adduser, so it works on RHEL too.)
sudo bash setup-unprivileged-user.sh labuser

# 2. Exposure verdict.
sudo ./check-exposure.sh

# 3. As labuser, the precondition, then the public nft trigger inside a netns.
sudo -u labuser unshare -Ur id     # uid=0 in a new userns = precondition open
                                   # (denied on stock Ubuntu 24.04 = mitigation working)

# The public FuzzingLabs trigger (catchall GOTO + aborted batch). Inlined here as
# documentation; this repo does not ship an executable exploit/trigger file.
sudo -u labuser unshare -Urn bash -c '
  nft add table inet t; nft add chain inet t c
  nft add map inet t m "{ type ipv4_addr : verdict; }"
  nft add element inet t m "{ * : goto c }"
  printf "delete element inet t m { * }\ndelete element inet t m { 1.2.3.4 }\n" > /tmp/b.nft
  nft -f /tmp/b.nft; nft flush ruleset'

该序列会执行存在缺陷的中止(abort)路径;它不包含权限提升链,并且在原版内核上不会产生任何输出(见下文)。

实际观察到的结果(三种环境,均为真实)

关于触发器,如实结论是:在原版生产内核上它不会产生任何输出。 它执行存在缺陷的中止路径,但不会崩溃,也没有任何 dmesg 输出,即使循环执行"释放并重用"也是如此。文章中的 KASAN: slab-use-after-free 输出来自启用了 KASAN/调试选项的内核;要将这一潜在的使用后释放漏洞武器化,需要漏洞利用中的堆喷射(不包含在本仓库中)。该实验环境证明了非特权用户能够触达该缺陷,展示了 Ubuntu 默认的 AppArmor 限制如何阻断这一路径,并给出明确的"已暴露 / 已缓解 / 已修复"判定。按设计,它不会直接给你一个 root shell。

缓解措施

限制非特权用户命名空间(封堵公开漏洞利用的现实路径),然后修补内核。

root@kitploit:~
# Ubuntu 23.10+ (AppArmor-based, keeps legitimate userns users working):
echo "kernel.apparmor_restrict_unprivileged_userns=1" | sudo tee /etc/sysctl.d/99-restrict-userns.conf
sudo sysctl --system

# Elsewhere (blanket disable; set both on Debian/Ubuntu):
printf 'kernel.unprivileged_userns_clone=0\nuser.max_user_namespaces=0\n' | sudo tee /etc/sysctl.d/99-restrict-userns.conf
sudo sysctl --system

# Patch (Ubuntu 24.04 generic fixed at 6.8.0-107.107):
sudo apt update && sudo apt install --only-upgrade linux-image-generic && sudo reboot

参考链接

  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-23111
  • Exodus Intelligence "Off By !":https://blog.exodusintel.com/2026/06/08/off-by-exploiting-a-use-after-free-in-the-linux-kernel/
  • FuzzingLabs 复现:https://fuzzinglabs.com/repro-cve-2026-23111/
  • Ubuntu:https://ubuntu.com/security/CVE-2026-23111
  • Red Hat:https://access.redhat.com/security/cve/cve-2026-23111
  • Debian:https://security-tracker.debian.org/tracker/CVE-2026-23111

许可证

MIT。仅限防御与教育用途。

下载工具
发行版启动方式原因
Ubuntu 24.04 / 22.04Multipass(仅限 Ubuntu)Exodus 已在两者上复现;24.04 默认启用 AppArmor userns 限制,因此可用来展示该缓解措施。
Debian 12Vagrant(vagrant up debian)Exodus 已在其上复现;非特权 userns 默认开放。
AlmaLinux / Rocky 10.1Vagrant(vagrant up alma)与 FuzzingLabs 的目标内核 6.12.0-124.x.el10 一致,其公开触发器可按发布版本原样复现。
grubby --set-default
发行版启动的易受攻击内核userns 默认状态判定结果
Ubuntu 24.046.8.0-1028-aws受限(AppArmor)已缓解,未修复
Debian 126.1.0-39-cloud(6.1.148-1)开放已暴露
AlmaLinux 10.16.12.0-124.38.1.el10_1开放已暴露