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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/adilkurtulmus/linux-copy-fail-cve-2026-31431
权限提升内存取证漏洞分析漏洞利用学习与教育二进制利用实验室与实践
GitHubadilkurtulmus/linux-copy-fail-cve-2026-31431

linux-copy-fail-CVE-2026-31431

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-31431(Copy-Fail)的概念验证漏洞利用程序,该漏洞是 Linux 内核中 AF_ALG 与 splice() 的缺陷,可实现页缓存投毒和本地权限提升。包含分析、实验室结果和检测脚本。

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

Linux Copy-Fail 分析(CVE-2026-31431)🛡️

本仓库包含对 CVE-2026-31431 漏洞(俗称 "Copy-Fail")的深入分析、概念验证(PoC)及实验室测试结果。

Copy-Fail 利用了 Linux 内核 Crypto API(AF_ALG)与 splice() 系统调用相结合的逻辑缺陷。它允许非特权本地攻击者执行页缓存投毒(Page Cache Poisoning),从而实现本地权限提升(LPE)。

🧠 技术概述:页缓存投毒

与修改磁盘上文件的传统漏洞利用不同,Copy-Fail 直接针对页缓存(RAM)。当文件被读取时,内核会在内存中保存一份副本以提升性能。由于特定内核版本中 authenc 算法存在内存管理缺陷,攻击者可以诱骗内核覆盖这些"只读"内存页。

通过投毒 /usr/bin/su 等 SETUID 二进制文件的内存页,可以绕过身份验证并生成 root shell。

🧪 实验室环境与测试结果

测试在多个 Ubuntu 发行版上进行,重点考察内核补丁移植(backporting)和补丁管理的影响。

发行版内核版本补丁日期结果观察
Ubuntu 24.046.8.0-87-generic2025年10月❌ 失败安全更新已生效
Ubuntu 22.045.15.0-125-generic2024年9月✅ 成功存在漏洞(未修补)
Ubuntu 18.044.15.0-197-generic2022年11月✅ 成功存在漏洞(未修补)

补丁移植悖论

内核版本号可能具有误导性。虽然 6.8 等"较新"内核通过安全补丁受到保护,但 4.15 和 5.15 等较旧或已停止维护(EOL)的内核由于缺少移植的修复程序而完全存在漏洞。

📊 Ubuntu 22.04(内核 5.15)对比分析

在研究过程中,通过测试两个共享相同主版本内核的 Ubuntu 22.04 系统,获得了显著的结果:

内核版本补丁日期

分析:

该测试证明,系统安全性不能仅通过主版本号来衡量。运行 5.15.0-125 的服务器可在数秒内被获取 root 权限,而 5.15.0-170 则完全阻止了攻击。

成功利用输出(内核 5.15.0-125):

root@kitploit:~
$ python3 ubuntu_22.04_copy_fail_exploit.py 
[*] 正在投毒 /usr/bin/su(Ubuntu 22.04 / 内核 5.15)...
[+] 漏洞利用完成。正在触发 Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream01:/tmp#

🛠️ 概念验证(PoC)

该 PoC 使用 ctypes 开发,以确保在不同 Python 版本(特别是缺乏原生 os.splice 支持的版本)之间的兼容性。

主要特性:

  • 通过 ctypes 进行底层 libc.splice 调用。
  • 强制缓存目标二进制文件。
  • 演示横向影响(一个用户投毒影响所有用户)。

运行漏洞利用程序:

1.加载所需的加密模块:

sudo modprobe af_alg algif_aead authenc echainiv

2.执行漏洞利用程序:

python3 final_exploit.py

🎥 演示

root@kitploit:~
$ python3 ubuntu_18.04_copy_fail_exploit.py
[*] /bin/su 正在被投毒(内核 4.15)...
[+] 内存已投毒!正在触发 Root...
# id
uid=0(root) gid=1004(jastin) groups=1004(jastin)
# whoami
root
# export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# /bin/bash -i
root@ovh-net-dream02:/tmp#

🛡️ 缓解与预防措施

  • 1. 最终解决方案:内核更新

  • sudo apt update && sudo apt upgrade -y
  • sudo reboot

2. 应急响应:刷新缓存

  • 清除内存中的有毒页面

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

3. 主动防御:列入黑名单模块

  • echo "blacklist authenc" | sudo tee /etc/modprobe.d/blacklist-authenc.conf
  • echo "blacklist algif_aead" | sudo tee -a /etc/modprobe.d/blacklist-authenc.conf
  • sudo depmod -a

🛡️ 漏洞检测脚本

root@kitploit:~
# 1. 检查内核版本
# uname -r

# 2. 检查已加载模块(无输出则安全)
# lsmod | grep -E "algif_aead|authencesn"

# 3. 关键测试 — authencesn 绑定
python3 -c "
import socket
try:
    s = socket.socket(38, 5, 0)
    s.bind(('aead', 'authencesn(hmac(sha256),cbc(aes))'))
    print('[!] 严重 — 系统存在漏洞!')
    s.close()
except:
    print('[+] 安全 — authencesn 不可访问')
"

# 4. setuid 二进制文件哈希(参考)
sha256sum /usr/bin/su /usr/bin/sudo /usr/bin/passwd

评估表:

结果含义
无 lsmod 输出 + 绑定错误✅ 安全
存在 lsmod 输出或绑定成功⚠️ 存在漏洞,请立即应用补丁

免责声明: 本研究及 PoC 仅用于教育和授权安全测试目的。在未经授权的系统上使用可能导致法律后果。

下载工具
结果
状态
5.15.0-1252024年9月✅ 成功存在漏洞(已触发漏洞利用)
5.15.0-1702026年1月❌ 失败安全(已修补)