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

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

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

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

工具目录

分类

查看所有分类
Loading categories
copy-fail-CVE-2026-31431-detection-probe — 用于 CVE-2026-31431 "Copy Fail" 和 CVE-2026-43284 "Dirty Frag" 的安全检测工具——Linux 内核 algif_aead 模块中的本地权限提升漏洞,自 2017 年以来影响所有主要发行版。 | Kitploit
工具/GitHubGitHub/ochebotar/copy-fail-cve-2026-31431-detection-probe
权限提升漏洞扫描器漏洞分析漏洞利用配置审计DevSecOps威胁情报学习与教育事件响应

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
精选资源
GitHubochebotar/copy-fail-cve-2026-31431-detection-probe

copy-fail-CVE-2026-31431-detection-probe

用于 CVE-2026-31431 "Copy Fail" 和 CVE-2026-43284 "Dirty Frag" 的安全检测工具——Linux 内核 algif_aead 模块中的本地权限提升漏洞,自 2017 年以来影响所有主要发行版。

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

Linux 内核本地提权探测套件 —— Copy Fail 与 Dirty Frag

License: MIT CVE-2026-31431 CVE-2026-43284 CVE-2026-43500 CVSS Shell

安全检测工具,用于两个相关的 Linux 内核本地权限提升漏洞家族 —— Copy Fail(CVE-2026-31431)和 Dirty Frag(CVE-2026-43284 / CVE-2026-43500)。两者自 2017 年起影响所有主流发行版,任何无特权本地用户均可利用,且两者需要独立的缓解措施。

这些探测程序不会打开任何套接字,也不会执行任何加密或网络操作。 检测完全基于内核版本、发行版软件包元数据、模块状态及生效中的缓解标志 —— 上述信息均无需 sudo 即可读取(world-readable)。


⚠️ 重要提示:两个独立的漏洞

应用 Copy Fail 缓解措施并不能防御 Dirty Frag。 必须同时运行两个探测脚本,并分别应用两项缓解措施。


文件

root@kitploit:~
.
├── cve-2026-31431-check.sh          Copy Fail probe (all output modes)
├── copy_fail_userparameter.conf     Zabbix agent UserParameter — Copy Fail
├── zabbix_template_copy_fail.yaml   Zabbix 6.4 template — Copy Fail
├── copy_fail_auditd.rules           auditd behavioral detection — Copy Fail
├── cve-2026-43284-check.sh          Dirty Frag probe (all output modes)
├── dirty_frag_userparameter.conf    Zabbix agent UserParameter — Dirty Frag
├── wazuh_sca/
│   └── copy_fail_sca.yml            Wazuh SCA compliance policy
└── ansible/
    └── copy_fall_scan.yml           Fleet-wide Ansible scan playbook

CVE-2026-31431 —— Copy Fail

背景

该漏洞利用需要以下精确的系统调用链:

root@kitploit:~
socket(AF_ALG, SOCK_SEQPACKET, 0)
bind(fd, {alg_type="aead", alg_name="authesn(hmac(sha256),cbc(aes))"})
accept(fd, ...)
splice(suid_binary_fd, op_fd)   ← page cache fed into crypto subsystem
sendmsg / recvmsg               ← 4-byte scratch write lands in page cache

探测脚本不会触及其中任何调用。检测基于以下内容:

  1. 内核版本范围 —— 4.14–6.17 存在回归缺陷;已在 6.18.22 / 6.19.12 / 6.20+ 中修复
  2. 发行版软件包版本 —— 使用已知已修复阈值进行厂商补丁反向移植检测
  3. 模块状态 —— 已加载、不存在、内建,或磁盘上存在 .ko(可自动加载)
  4. 生效中的缓解措施 —— modprobe.d 黑名单及 initcall_blacklist 内核命令行参数

快速开始

root@kitploit:~
chmod +x cve-2026-31431-check.sh
./cve-2026-31431-check.sh           # human-readable
./cve-2026-31431-check.sh --json    # machine-readable
./cve-2026-31431-check.sh --nagios  # Nagios/Icinga/NRPE
./cve-2026-31431-check.sh --zabbix  # integer 0/1/2 for Zabbix item

退出码: 0 = PATCHED(已修补)或 MITIGATED(已缓解)· 1 = VULNERABLE(存在漏洞)· 2 = UNKNOWN(未知)

已修补的软件包版本

脚本会自动与这些阈值进行比较,当运行中的软件包版本达到或超过已修补阈值时,将判定结果设为 PATCHED(已修补)。

RHEL 家族:内建模块注意事项

在 RHEL、AlmaLinux、Rocky Linux 及其衍生发行版上,algif_aead 被编译进内核。modprobe.d 的规避方法无效。 只有通过内核命令行传入 initcall_blacklist=algif_aead_init 才有效。探测脚本会检测到这一情况并明确发出警告。

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

CVE-2026-43284 / CVE-2026-43500 —— Dirty Frag

背景

Dirty Frag 串联了由 Hyunwoo Kim(@v4bel)发现的两个原地解密快速路径缺陷,披露时间约为 2026 年 5 月 7 日,比 Copy Fail 晚一周:

  • CVE-2026-43284 —— xfrm-ESP 快速路径(esp4、esp6);上游修复提交 f4c50a4034e6
  • CVE-2026-43500 —— RxRPC 快速路径(rxrpc);上游修复提交 aa54b1d27fe0

该漏洞利用将 /usr/bin/su 页缓存中的管道页作为分页套接字缓冲区片段附加,然后使用攻击者选定的密钥驱动原地解密 —— 直接将任意字节写入 setuid 二进制的缓存副本,而无需触碰磁盘上的文件。

Copy Fail 缓解措施(algif_aead 黑名单)无法阻止 Dirty Frag。

快速开始

root@kitploit:~
chmod +x cve-2026-43284-check.sh
./cve-2026-43284-check.sh           # human-readable
./cve-2026-43284-check.sh --json    # machine-readable
./cve-2026-43284-check.sh --nagios  # Nagios/Icinga/NRPE
./cve-2026-43284-check.sh --zabbix  # integer 0/1/2 for Zabbix item

探测脚本会独立检查 esp4、esp6 和 rxrpc,并在 JSON 输出中分别报告 cve_43284_safe / cve_43500_safe 布尔值。

IPsec 警告

esp4 和 esp6 是 IPsec(strongSwan、Libreswan)使用的内核侧 ESP 转换。将它们加入黑名单会中断 IPsec 隧道。探测脚本通过 ip xfrm state 和守护进程检测来识别正在使用的 IPsec,并相应调整修复建议:

  • 未使用 IPsec: 对全部三个模块应用完整的 modprobe.d 黑名单。
  • 正在使用 IPsec: 限制非特权用户命名空间(可阻断 ESP 路径;如果不需要,还可单独将 rxrpc 加入黑名单):
    root@kitploit:~
    # RHEL-family
    sysctl -w user.max_user_namespaces=0
    echo "install rxrpc /bin/false" >> /etc/modprobe.d/dirtyfrag.conf
    
    # Ubuntu / Debian
    sysctl -w kernel.unprivileged_userns_clone=0
    echo "install rxrpc /bin/false" >> /etc/modprobe.d/dirtyfrag.conf
    

已修补的软件包版本

发行版CVE-2026-43284CVE-2026-43500 (rxrpc)
RHEL / Rocky / Alma 8.104.18.0-553.123.2.el8_10不适用 —— RHEL 8 未附带 rxrpc
RHEL / Rocky / Alma 9.x待定待定

对于等待已修补内核的系统,请立即应用 modprobe.d 黑名单(同时考虑 IPsec 注意事项)。

RHEL 8 / rxrpc

AlmaLinux / RHEL 8 完全不编译 rxrpc 模块。探测脚本会在 RHEL/Rocky/Alma 8.x 上自动将 kernel_vuln_rxrpc 标记为 not_affected。


监控集成

Zabbix

在每个受监控主机上部署两个探测脚本:

root@kitploit:~
mkdir -p /etc/zabbix/scripts
install -m 750 -o zabbix -g zabbix cve-2026-31431-check.sh /etc/zabbix/scripts/
install -m 750 -o zabbix -g zabbix cve-2026-43284-check.sh /etc/zabbix/scripts/

cp copy_fail_userparameter.conf /etc/zabbix/zabbix_agentd.d/
cp dirty_frag_userparameter.conf /etc/zabbix/zabbix_agentd.d/
systemctl restart zabbix-agent   # or zabbix-agent2

通过 Configuration → Templates → Import 导入 zabbix_template_copy_fail.yaml。

提供的 UserParameter 监控项:

Copy Fail 模板包含状态=1 时的 HIGH(严重) 触发器,以及状态=2 时的 WARNING(警告) 触发器。无需 sudo —— 两个脚本读取的所有文件均为全局可读。

Nagios / Icinga / NRPE

root@kitploit:~
install -m 755 cve-2026-31431-check.sh /usr/lib/nagios/plugins/
install -m 755 cve-2026-43284-check.sh /usr/lib/nagios/plugins/

# NRPE — add to /etc/nagios/nrpe.cfg:
command[check_copy_fail]=/usr/lib/nagios/plugins/cve-2026-31431-check.sh --nagios
command[check_dirty_frag]=/usr/lib/nagios/plugins/cve-2026-43284-check.sh --nagios

# CheckMK local checks:
echo '#!/bin/bash
OUT=$(/usr/lib/nagios/plugins/cve-2026-31431-check.sh --nagios); RC=$?
echo "$RC CVE-2026-31431 - $OUT"' > /usr/lib/check_mk_agent/local/copy_fail

echo '#!/bin/bash
OUT=$(/usr/lib/nagios/plugins/cve-2026-43284-check.sh --nagios); RC=$?
echo "$RC CVE-2026-43284 - $OUT"' > /usr/lib/check_mk_agent/local/dirty_frag

chmod +x /usr/lib/check_mk_agent/local/copy_fail \
         /usr/lib/check_mk_agent/local/dirty_frag

auditd —— 行为 / 运行时检测

检测正在进行的活跃漏洞利用尝试,对两个静态探测脚本形成补充。

root@kitploit:~
cp copy_fail_auditd.rules /etc/audit/rules.d/
augenrules --load

# Watch for unexpected AF_ALG callers:
ausearch -k copy_fail_af_alg --interpret | \
    grep -v -E 'cryptsetup|veritysetup|systemd-crypt|kcapi'

Wazuh 规则存根(级别 13 / 15)已嵌入 .rules 文件的注释中。

Wazuh SCA

root@kitploit:~
cp wazuh_sca/copy_fail_sca.yml /var/ossec/etc/shared/default/
/var/ossec/bin/agent_control -r -a

查看结果:Security → SCA → 按策略 cve_2026_31431_copy_fail 筛选

Ansible —— 批量扫描

root@kitploit:~
ansible-playbook -i inventory/hosts ansible/copy_fall_scan.yml
# Limit to a subset:
ansible-playbook -i inventory/hosts ansible/copy_fall_scan.yml --limit webservers

将每台主机的 JSON 结果和 summary.txt 写入控制端的 /tmp/copy_fail_results/。如果任何主机存在漏洞(VULNERABLE),该 playbook 将以非零状态退出。


厂商安全跟踪页面


参考资料

Copy Fail

  • Xint/Theori 原始分析文章
  • CERT-EU 安全通告 2026-005
  • NVD CVE-2026-31431
  • Ubuntu 安全公告 USN-8226-1
  • Rocky Linux 安全通告 2026-05-11
  • SUSE 对 Copy Fail 的回应

Dirty Frag

  • Dirty Frag 分析文章(copy.fail)
  • NVD CVE-2026-43284
  • AlmaLinux 安全通告 2026-05-07
  • Sysdig TRT —— Dirty Frag 检测分析
  • Microsoft 安全博客 —— 活跃攻击
  • Wiz 博客 —— Dirty Frag
下载工具
Copy FailDirty Frag
CVECVE-2026-31431CVE-2026-43284 + CVE-2026-43500
模块algif_aeadesp4, esp6, rxrpc
引入时间2017 年 8 月(内核 4.14)2017 年 1 月 / 2023 年 6 月
缓解措施针对 algif_aead 的 modprobe.d 黑名单针对 esp4/esp6/rxrpc 的 modprobe.d 黑名单
探测脚本cve-2026-31431-check.shcve-2026-43284-check.sh
发行版已修补版本安全通告
RHEL / Rocky / Alma 8.10kernel-4.18.0-553.123.1.el8_10Rocky 2026-05-11
RHEL / Rocky / Alma 9.7kernel-5.14.0-611.54.1.el9_7同上
RHEL / Rocky / Alma 10.1kernel-6.12.0-124.55.1.el10_1同上
Debian 11 (bullseye)linux 5.10.251-3DLA-4560-1
Debian 12 (bookworm)linux 6.1.170-1DSA-6243-1
Debian 13 (trixie)linux 6.12.85-1DSA-6238-1
Ubuntu 22.04 / 24.04尚无已修补内核 —— 通过 USN-8226-1 提供 kmod 缓解措施USN-8226-1
SLES 12 SP5kernel-default 4.12.14-122.299.1SUSE-SU-2026:1669-1
SLES 15 SP5kernel-default 5.14.21-150500.55.144.1SUSE-SU-2026:1670-1
SLES 15 SP6kernel-default 6.4.0-150600.23.92.1SUSE-SU-2026:1671-1
SLES 15 SP7kernel-default 6.4.0-150700.53.40.1SUSE-SU-2026:1669-1
SLES 16.0kernel-default 6.12.0-160000.29.1SUSE 安全通告
Debian / Ubuntu / SLES
待定
待定
键类型含义
copy_fail.statusint0=安全 · 1=存在漏洞 · 2=未知
copy_fail.detailstr人类可读的 Copy Fail 判定结果
dirty_frag.statusint0=安全 · 1=存在漏洞 · 2=未知
dirty_frag.detailstr人类可读的 Dirty Frag 判定结果
发行版Copy FailDirty Frag
Ubuntuubuntu.com/security/CVE-2026-31431ubuntu.com/security/CVE-2026-43284
Debiansecurity-tracker…CVE-2026-31431security-tracker…CVE-2026-43284
RHEL / Alma / Rockyaccess.redhat.com…CVE-2026-31431access.redhat.com…CVE-2026-43284
Amazon Linuxalas.aws…CVE-2026-31431alas.aws…CVE-2026-43284
SUSEsuse.com…CVE-2026-31431suse.com…CVE-2026-43284