| 属性 | 详情 |
|---|
| 是否需要竞态条件 | ❌ 否 – 利用是确定性的 |
| 是否需要内核偏移量 | ❌ 否 – 无需版本特定的偏移量 |
| 利用复杂度 | 单个 732 字节的 Python 脚本即可获得 root 权限 |
| 本检测器 | 仅被动诊断 – 不会触发该漏洞 |
该脚本尝试使用该漏洞所依赖的精确算法模板创建并绑定一个 AF_ALG 套接字:
authencesn(hmac(sha256),cbc(aes))
| 结果 | 含义 |
|---|---|
| 套接字创建并绑定成功 | 易受攻击的代码路径可达 – 请立即修补 |
EAFNOSUPPORT(errno 97) | 模块未加载 – 攻击面不可用 |
Permission denied | MAC 策略(SELinux/AppArmor)阻止访问 – 安全 |
该脚本不会以任何方式触发该漏洞。它完全是被动的,可以安全运行。
克隆仓库或下载 check_copyfail.py,然后运行:
python3 check_copyfail.py
____ _____ _ _
/ ___|___ _ __ _ _| ___|_ _(_) |
| | / _ \| '_ \| | | | |_ / _` | | |
| |__| (_) | |_) | |_| | _| (_| | | |
\____\___/| .__/ \__, |_| \__,_|_|_|
|_| |___/
CVE-2026-31431 "Copy Fail" – 可达性检测器
Phalanx CCS / d_0_4 | 仅限防御性使用
-------------------------------------------------------
内核版本: 6.1.0-28-amd64
版本范围 : 可能受影响的版本范围
AF_ALG 目标 : authencesn(hmac(sha256),cbc(aes))
[!!!] 易受攻击的攻击面可达
套接字已创建并绑定 – AF_ALG 可达
立即缓解措施:
echo 'install algif_aead /bin/false' | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead 2>/dev/null
然后在补丁可用时尽快更新内核。
上游修复: commit a664bf3d603d
如果攻击面可达,脚本以代码 1 退出;如果系统安全,则以 0 退出——这使得它适用于 shell 脚本、Ansible playbook 和 CI 流水线。
在内核更新可用之前,请禁用易受攻击的模块:
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead 2>/dev/null
官方修复是主线内核中的提交 a664bf3d603d。补丁可用后,请通过发行版的包管理器进行更新。
此检测器在现代 Android 设备(包括 Termux)上始终报告安全。由于强制性的 SELinux 策略,非特权应用无法使用 AF_ALG 套接字,因此该漏洞在标准 Android 构建上不可利用。
本项目采用 MIT 许可证 授权 – 详情请参阅 LICENSE。欢迎使用、修改和分发。
免责声明: 本工具仅用于防御性诊断目的。
请勿在非您拥有的系统上使用,或未经明确书面许可使用。