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

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

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

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

工具目录

分类

查看所有分类
Loading categories
XCP_ng_CVE-2026-43284_tester — 针对 CVE-2026-43284 的测试工具 | Kitploit
工具/GitHubGitHub/grabesec/xcp_ng_cve-2026-43284_tester
漏洞分析漏洞利用渗透测试云安全学习与教育二进制利用实验室与实践
GitHubgrabesec/xcp_ng_cve-2026-43284_tester

XCP_ng_CVE-2026-43284_tester

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →

针对 CVE-2026-43284 的测试工具

查看仓库
53个月前尚未审核
分享

XCP-ng Dirty Frag 诊断工具 — CVE-2026-43284

Platform Kernel CVE CVSS License

一个社区诊断工具,用于判断 XCP-ng dom0 主机是否暴露于 CVE-2026-43284(“Dirty Frag”),这是 Linux 内核 xfrm-ESP 子系统中的一个本地权限提升漏洞。

TL;DR — 所有当前 XCP-ng 版本(8.1、8.2、8.3)运行标准 4.19 dom0 内核的都在受影响代码范围内。截至 2026 年 5 月,官方尚未发布 XCP-ng 补丁。本工具能明确告知您的主机是否暴露,并提供安全的临时缓解措施。


背景

“Dirty Frag” 是一个本地权限提升漏洞,由研究员 Hyunwoo Kim(@v4bel)于 2026 年 5 月公开披露。它利用 Linux 内核 IPsec ESP 子系统中于 2017 年 1 月(内核 4.14+)引入的就地解密快速路径。公开的工作概念验证可通过标准系统调用(无需内核漏洞)获得 root shell。

发布了两个 CVE:

CVE子系统引入版本是否适用于 XCP-ng 4.19?
CVE-2026-43284xfrm-ESP (esp4/esp6)内核 4.14,2017 年 1 月是
CVE-2026-43500RxRPC (rxkad)内核 6.4,2023 年 6 月否 — 未打包 rxrpc.ko

XCP-ng 不需要 CVE-2026-43500 即可被利用。 仅 esp4 路径(CVE-2026-43284)就足够,因为 XCP-ng dom0 没有 AppArmor 策略,并允许非特权用户命名空间创建——这是 esp4 利用路径唯一的前提条件。详见 TECHNICAL.md 完整分析。


本工具的功能

诊断脚本测试 XCP-ng 上 CVE-2026-43284 的必要且充分前提:非特权进程能否通过用户命名空间内的 XFRM netlink 接口启用 esp4 就地解密引擎。

它不会:

  • 尝试权限提升
  • 写入任何利用载荷
  • 修改任何系统文件
  • 留下永久性痕迹(退出时会清理 XFRM 状态)

在生产 dom0 上运行是安全的。


快速开始

root@kitploit:~
# 克隆仓库
git clone https://github.com/grabesec/XCP_ng_CVE-2026-43284_tester.git
cd XCP_ng_CVE-2026-43284_tester

# 运行诊断(以非 root 身份运行可获得最强证据)
python3 XCP_ng_CVE_2026_43284_tester.py

注意: 尽可能以非 root 用户运行。这模拟了真实的威胁模型:被攻陷的服务账户或从虚拟机逃逸到 dom0。以 root 身份运行仍会产生有效结果,但说明性较弱。


预期输出 — 受漏洞影响的主机

root@kitploit:~
=================================================================
  XCP-ng Dirty Frag 诊断工具 -- CVE-2026-43284
  xfrm-ESP 页面缓存写入 / 本地权限提升
=================================================================
  内核  : 4.19.0+1
  主机    : xcpng-prod-01
  PID     : 52306  |  UID: 1000
=================================================================

[阶段 0] 飞行前环境检查
---------------------------------------------
[*] 非特权用户命名空间 : 允许
[*] modprobe.d 中的 esp4 黑名单 : 未找到
[*] 内核 RPM 中的 CVE-2026-43284 补丁 : 未找到

[阶段 1] esp4 模块基础状态
---------------------------------------------
[*] esp4 为 DORMANT -- 当前未加载到内核中。
    自动加载机制可能在 XFRM 请求时按需加载它。

[阶段 2] 尝试从非特权命名空间启用 esp4
---------------------------------------------
[*] 在隔离的用户+网络命名空间中生成子进程
    (unshare -U -n -r) -- 模拟非 root 本地攻击者

[*] 子进程信号    : XFRM SA 被内核接受
[*] esp4 引用计数   : 0(之前)  ->  1(现在)
[*] /proc/modules   : esp4 16384 1 - Live 0xffffffffc0a12000

[阶段 3] 工程判断
=================================================================

  [!!!]  暴露证明 -- CVE-2026-43284  [!!!]

  esp4 引用计数增加:0 -> 1

  一个用户+网络命名空间内的非特权进程
  成功注册了 XFRM 安全关联并
  启用了主机内核中的 esp4 就地解密引擎。
  这是 CVE-2026-43284 的门槛条件。

  XCP-ng 特定分析:
    [失败] 内核 4.19 包含受影响代码(自 4.14 起)
    [失败] 用户命名空间已开放 -- esp4 路径可达
    [通过] rxrpc.ko 不存在 -- CVE-2026-43500 不适用
    [失败] 在此配置下,仅 esp4 路径就足够

预期输出 — 已缓解的主机

root@kitploit:~
[阶段 0] 飞行前环境检查
---------------------------------------------
[+] 在 /etc/modprobe.d/ 中找到 esp4 黑名单
    模块加载缓解措施似乎已到位。
...
[阶段 2] 尝试从非特权命名空间启用 esp4
---------------------------------------------
[+] XFRM 状态添加被内核拒绝。
    从命名空间内未启用 esp4 引擎。

[结果] 命名空间漏洞未授予 esp4 访问权限。

缓解措施

自动(推荐)

附带的 mitigate.sh 脚本安全地应用缓解措施,并内置了 IPsec 检测功能以防止破坏隧道:

root@kitploit:~
# 仅检查当前状态(不做更改)
sudo ./mitigate.sh --check

# 应用缓解措施(如果检测到 IPsec 则中止)
sudo ./mitigate.sh

# 移除缓解措施(在应用官方内核补丁后)
sudo ./mitigate.sh --undo

手动

选项 A — 未使用 IPsec 的主机(大多数 dom0):

root@kitploit:~
echo 'install esp4 /bin/false' > /etc/modprobe.d/dirtyfrag-cve-2026-43284.conf
rmmod esp4 2>/dev/null || true
echo 3 > /proc/sys/vm/drop_caches

选项 B — 使用 IPsec 的主机(strongSwan / Libreswan):

请勿将 esp4 加入黑名单——这会立即破坏所有隧道。相反,请:

  • 将 dom0 shell 访问权限限制为最少的可信管理员账户集
  • 关注 XCP-ng 更新公告以获取官方内核补丁

⚠️ 这是 LOCAL 权限提升。攻击者必须已经在 dom0 上拥有 shell 或代码执行权限。首要防御是限制谁拥有 dom0 的本地访问权限。Dom0 root = 虚拟机管理程序 root = 所有客户机 VM 均被攻陷。


要求

要求备注
Python 3.6+XCP-ng 8.x dom0 自带
iproute2(ip 命令)XCP-ng 8.x dom0 自带
unshare属于 util-linux,XCP-ng 8.x dom0 自带
Linux 内核XCP-ng dom0 上的任意内核 4.14–6.x

无需外部 Python 库。无需 pip 安装。


文件

root@kitploit:~
XCP_ng_CVE-2026-43284_tester/
├── XCP_ng_CVE_2026_43284_tester.py   # 诊断脚本 — 先运行此
├── mitigate.sh                        # 缓解脚本,含 IPsec 检测
├── README.md                          # 本文件 — 快速开始和概述
├── TECHNICAL.md                       # 深入技术分析 — 攻击链、
│                                      # 为何 XCP-ng 上不需要 rxrpc、
│                                      # 脚本内部实现详解
├── CHANGELOG.md                       # 版本历史
└── LICENSE                            # MIT

技术细节

如需完整解释:

  • Dirty Frag 的工作原理(页面缓存写入原语)
  • 为什么尽管 CVE-2026-43500 (RxRPC) 在 Ubuntu 上完善了攻击链,但 XCP-ng 上与之无关
  • 专门针对 XCP-ng dom0 的完整 6 步攻击链
  • 诊断脚本每个部分的工作原理

请参阅 TECHNICAL.md。


补丁状态

XCP-ng 版本内核是否受影响?官方补丁?
8.3 LTS4.19 + Vates 补丁是截至 2026 年 5 月尚未发布
8.24.19 + Vates 补丁是截至 2026 年 5 月尚未发布
8.1 (EOL)4.19 + Vates 补丁是预计不会发布

关注:https://xcp-ng.org/forum/topic/365/updates-announcements


负责任披露说明

本工具仅测试利用前提(命名空间 + esp4 访问)。它不包含、复制或引用任何利用代码。底层漏洞是公开已知的,原始研究者已发布概念验证,并且已分配 CVE。本工具的目的是帮助 XCP-ng 管理员判断其暴露程度,并在等待 Vates 官方内核补丁期间应用临时缓解措施。


参考

  • CVE-2026-43284 — NVD
  • 原始分析报告 — Hyunwoo Kim (@v4bel)
  • 微软安全博客 — 活跃攻击预警
  • Sysdig — 检测指南
  • XCP-ng 更新公告
  • 内核修复提交(上游)

作者

Rodrigo Gracia — 社区安全贡献
XCP-ng / Xen Orchestra 实践者
https://github.com/grabesec
2026 年 5 月

下载工具