Silent4Labs/check-copyfail-cve-2026-31431
GitHub: Silent4Labs/check-copyfail-cve-2026-31431
一个针对 CVE-2026-31431("Copy Fail")的只读 Bash 风险评估脚本,通过多维系统信号综合判定主机暴露程度并给出优先建议。
Stars: 0 | Forks: 0
# 检查 copyfail
`check-copyfail.sh` 是一个只读的 Bash 脚本,用于评估主机面临的 `CVE-2026-31431`(“Copy Fail”)漏洞暴露情况。
作者:`Silent4Labs`
它会在本地系统中检查以下内容:
- 内核版本及已知的上游补丁状态
- 受影响的发行版基线
- `algif_aead` 模块状态
- 活跃的 `AF_ALG` socket 使用情况
- `authencesn` 的可用性
- 常见的可读 `setuid-root` 目标,例如 `/usr/bin/su`
- 常用于本地漏洞利用投递的可写暂存目录
- 容器或 Kubernetes 环境
- 缓解措施状态,例如 seccomp 过滤器、modprobe 黑名单以及 GRUB 的 `initcall_blacklist`
- 已安装较新内核时的待重启状态
该脚本将这些信号综合成一个直观的风险评分,然后输出检查结果和优先建议。
## 此脚本的功能
`check-copyfail.sh` 旨在作为面向管理员和基础设施所有者的主机端评估辅助工具。它收集与 `CVE-2026-31431` 相关的本地信号,根据脚本内置逻辑对其进行评估,并报告估计的暴露程度及支持该结论的检查结果。
该结果旨在辅助调查和分类。它并不保证系统是安全的、存在漏洞的、已完全修补的,或是实际可被利用的。
## 要求
- 仅限 Linux
- Bash
## 使用方法
使用带连字符的实际脚本文件名运行:
```
./check-copyfail.sh
./check-copyfail.sh --json
./check-copyfail.sh --quiet
./check-copyfail.sh --help
```
脚本注释和内置帮助信息中仍使用 `check_copyfail.sh`,但本仓库中的可执行文件名为 `check-copyfail.sh`。
## 输出模式
- 默认:人类可读的报告
- `--json`:结构化的 JSON 输出
- `--quiet`:无输出,仅返回退出代码
## 退出代码
- `0`:风险极低
- `1`:低风险
- `2`:中风险
- `3`:高风险
- `4`:严重风险
- `5`:执行错误或不支持的平台
## 注意事项
- 该脚本不会应用任何修复;它仅检查当前系统状态。
- 该脚本在正常执行期间不会加载或卸载内核模块、写入系统文件,也不会更改引导或运行时配置。
- 在非 Linux 系统上,它将以退出代码 `5` 退出。
- 默认的人类可读报告包含主要结果字段的简短内联说明。
## 参考资料
- Xint 披露文章:https://xint.io/blog/copy-fail-linux-distributions
## 免责声明
使用此脚本的风险由您自行承担。本仓库的维护者不对基于脚本输出而产生的任何损害、损失、运营影响、错误假设或决策负责。
该脚本仅提供尽力而为的评估。验证结果、确认操作系统是否存在漏洞以及确定适当的补救措施或运营响应的最终责任,仍由基础设施的所有者或管理员承担。
标签:0day挖掘, AF_ALG, algif_aead, Copy Fail, CVE-2026-31431, DevSecOps, GPT, Triage, Web截图, Web报告查看器, 上游代理, 内核安全, 只读脚本, 安全基线, 容器安全, 应用安全, 教学环境, 无线安全, 本地提权, 漏洞管理, 系统运维, 网络安全审计