针对“Dirty Frag”Linux 内核本地提权漏洞的只读检查器 (CVE-2026-43284、 CVE-2026-43500)。 检查内核版本、模块状态、KernelCare livepatch 以及您添加的任何 modprobe 黑名单。不运行漏洞利用代码。
配套工具:CVE-2026-31431-check。

注意:这是启发式检查。绿色结论并不代表绝对安全。在判定主机安全之前, 请与您所用发行版的安全公告交叉核对。MIT 许可,不提供任何担保。
curl -fsSL https://github.com/haydenjames/dirty-frag-check/releases/latest/download/dirty-frag-check.sh | bash
如果您不信任管道到 bash 的方式,请先阅读脚本:
curl -fsSLO https://github.com/haydenjames/dirty-frag-check/releases/latest/download/dirty-frag-check.sh
less dirty-frag-check.sh
chmod +x dirty-frag-check.sh && ./dirty-frag-check.sh
如需变更控制,可固定到某个发布标签:https://raw.githubusercontent.com/haydenjames/dirty-frag-check/v1.0.4/dirty-frag-check.sh。
-q 用于单行输出,便于批量管理。-h 查看帮助。退出码 0 表示正常,1 表示存在漏洞,2 表示未知。
# parallel-ssh
parallel-ssh -h hosts.txt -i 'bash -s -- -q' < dirty-frag-check.sh
# ansible
ansible all -m script -a "dirty-frag-check.sh -q"
退出码(0 正常,1 存在漏洞,2 未知)适用于任何按状态聚合的工具。
bash 4+,以及常用的 awk/grep/sed/lsmod/modprobe。检查本身
不需要 root 权限。应用缓解措施则需要 root。
esp4、esp6、ipcomp、ipcomp6(CVE-2026-43284)和 rxrpc
(CVE-2026-43500)——是否已加载、可用或不存在。modprobe -n -v 验证
黑名单确实生效。报告 SELinux 和 AppArmor 状态。通过 kcarectl --patch-info
检测 KernelCare livepatch。uname -r 与
该版本厂商发布的修复版本进行比较。尽力而为;请与您的发行版跟踪器核对。当您的发行版尚未发布内核更新,或您无法立即重启且需要卸载可触达模块时,可使用以下方法:
sudo tee /etc/modprobe.d/disable-dirty-frag.conf <<'EOF'
install esp4 /bin/false
install esp6 /bin/false
install ipcomp /bin/false
install ipcomp6 /bin/false
install rxrpc /bin/false
EOF
sudo rmmod rxrpc ipcomp6 ipcomp esp6 esp4 2>/dev/null || true
如果 rmmod 提示“module is in use”(模块正在使用中),说明系统上有程序正在使用
IPsec 或 AF_RXRPC(某些 VPN、AFS 客户端、strongSwan、Libreswan)。
请勿强制卸载。应修补内核并重启。
KernelCare / TuxCare ELS 用户:CVE-2026-43284 的 livepatch 可覆盖此问题,
无需重启。请检查 kcarectl --patch-info。
面向 AlmaLinux 8/9/10、Rocky、RHEL、CloudLinux 8/9/10、Ubuntu、 Debian 和 CentOS 7(TuxCare ELS / KernelCare)。修复版本表 仅适用于 RHEL 系列;Ubuntu/Debian 回退到 包管理器的新鲜度检查。任何绿色结论请与您的发行版跟踪器确认。
MIT — 参见 LICENSE。