CVE-2026-31431,代号 "Copy Fail",CVSS 7.8高危。韩国Pwn2Own冠军团队披露,几乎所有主流Linux发行版中招。
⚡ 一句话概括
一个732字节的Python脚本,无依赖、无竞态、无需地址泄露,就能在任意Linux服务器上从普通用户直接提权到root——而且不留任何磁盘痕迹,重启后证据自动消失。
这不是演习。漏洞代码已经在Linux内核里躺了9年。
🔍 漏洞档案
| 项目 | 详情 |
| CVE编号 | CVE-2026-31431 |
| 别名 | Copy Fail |
| CVSS评分 | 7.8(高危) |
| 披露时间 | 2026年4月29日 |
| 发现团队 | Theori(theori-io),Pwn2Own获奖安全团队 |
| PoC大小 | 732字节Python,仅2个文件 |
| 上游补丁 | commit a664bf3d603d(2026年4月1日合入) |
| 技术报告 | https://xint.io/blog/copy-fail-linux-distributions |
🎯 为什么这个漏洞特别危险?
这个漏洞的可怕之处不在于"能做什么",而在于"做得多干净":
- 📦 732字节Python,零依赖——任何一个终端用户都能跑
- 🚫 不需要竞态条件——不像传统内核漏洞需要反复尝试、碰运气
- 🔒 不需要内核地址泄露——跳过了现代内核最难绕过的防护之一
- 👻 只改内存,不碰磁盘——传统取证手段完全失效
- 🔄 重启即消失——连事后追查都找不到痕迹
简单说:好利用、难发现、不可追溯。这对企业安全团队来说是最坏的组合。
💥 影响范围:几乎全员中招
| 发行版 | 受影响版本 | 状态 |
| Ubuntu | 24.04 LTS | ⚠️ 受影响 |
| Amazon Linux | 2023 | ⚠️ 受影响 |
| RHEL | 10.1 | ⚠️ 受影响 |
| SUSE | 16 | ⚠️ 受影响 |
几乎覆盖了企业服务器最常用的发行版。如果你在跑Linux,大概率在影响范围内。
🧠 漏洞原理(3分钟看懂)
不需要你懂内核代码,但你需要理解为什么它这么严重:
1️⃣ 起因:一个2017年的"性能优化"
2017年,Linux内核的加密API(AF_ALG)引入了一个看似无害的优化。它的本意是减少内存拷贝、提升性能。但这个优化打开了一个危险的口子——允许修改操作系统的页面缓存(page cache)。
2️⃣ 攻击路径:篡改可信程序
攻击者利用 splice() 系统调用,将setuid程序(如 su)的内存页"偷梁换柱",注入恶意代码。这些程序本来就是以root权限运行的,内核完全信任它们。
3️⃣ 结果:合法程序执行恶意指令
当任何人执行被篡改的 su 时,内核以root身份运行——但跑的已经是攻击者的代码了。
普通用户 → 运行被篡改的su → 内核以root执行 → shellcode生效 → 🎉 拿到root
为什么9年没被发现?
因为这个漏洞藏在"性能优化"的合理逻辑里。代码review很难发现"优化"中暗藏的权限提升风险。Theori团队是在深入研究内核内存管理机制时才揪出这个问题。
🛠️ 修复方案:打补丁+重启
好消息是,上游补丁已经在4月1日合入Linux主线内核。各发行版正在紧急推送更新。
| 发行版 | 修复命令 |
| Ubuntu / Debian | `sudo apt update && sudo apt upgrade && sudo reboot` |
| RHEL / CentOS | `sudo dnf update kernel && sudo reboot` |
| Amazon Linux | `sudo dnf update kernel && sudo reboot` |
| SUSE | `sudo zypper update kernel-default && sudo reboot` |
⚠️ 必须重启才能生效。内核补丁不像用户态程序可以热更新。
🏢 企业应对指南:5步走
这才是本文的重点——你的企业现在该做什么。
第一步:评估攻击面 🔍
立即排查以下场景:
- ✅ 多用户登录的服务器(开发机、跳板机、共享主机)
- ✅ 容器环境(容器共享宿主机内核,一个容器被攻破=全部沦陷)
- ✅ 对外暴露SSH的服务器
- ✅ 第三方可访问的测试/预发环境
🎯 最高优先级:有外部用户或多个开发者能登录的服务器。
第二步:紧急缓解措施 🚑
如果暂时无法立即打补丁,至少做这些:
- 🔸 限制 su 和 sudo 的使用范围,只允许必要的运维账户
- 🔸 禁用AF_ALG接口:echo 0 > /proc/sys/net/core/somaxconn(需评估业务影响)
- 🔸 加强SSH访问控制——密钥认证、禁用密码登录、IP白名单
- 🔸 开启完整审计日志(auditd),至少记录所有 execve 调用
第三步:分批打补丁 📋
不要一次全上,按风险等级分批:
| 批次 | 目标 | 时间要求 |
| 第一批 | 公网暴露的服务器 | 24小时内 |
| 第二批 | 内网多用户服务器 | 48小时内 |
| 第三批 | 单用户/内部服务 | 本周内 |
| 第四批 | 容器集群宿主机 | 与业务方协调维护窗口 |
第四步:审计排查 🔎
检查是否已被利用:
- 🔸 检查近期异常的root权限获取记录
- 🔸 审查 su/sudo 使用日志中的异常时段和来源IP
- 🔸 检查是否有不明进程以root运行
- 🔸 注意:由于此漏洞不留磁盘痕迹,内存取证可能是唯一手段
第五步:长期加固 🔧
- ✅ 开启内核自动安全更新(unattended-upgrades / dnf-automatic)
- ✅ 建立内核CVE订阅和响应流程
- ✅ 最小权限原则:日常运维不用root,按需sudo
- ✅ 容器环境考虑使用gVisor / kata-containers等内核隔离方案
📊 风险速判表
| 你的环境 | 风险等级 | 建议动作 |
| 单用户云服务器,无外网SSH | 🟢 低 | 本周内更新即可 |
| 多用户开发服务器 | 🟠 中高 | 48小时内打补丁 |
| 容器共享宿主机 | 🔴 高 | 24小时内紧急处理 |
| 公网暴露+多用户 | 🔴 极高 | 立即打补丁 |
📝 总结
| 是什么 | Linux内核AF_ALG模块的权限提升漏洞 |
| 有多严重 | 732字节PoC,一键提权root,无痕迹 |
| 影响谁 | 几乎所有主流Linux发行版 |
| 怎么办 | 更新内核 + 重启 |
| 根本原因 | 2017年的"性能优化"引入,潜伏9年 |
🔔 行动号召
1. 现在就去检查你的Linux服务器——用 uname -r 看内核版本,对照发行版安全公告确认是否已修复
2. 转发给你的运维同事和安全团队——这不是一个可以"排进下个Sprint"的问题
3. 如果你的环境有多用户或容器——请按最高优先级处理
🛡️ 安全的本质不是"没有漏洞",而是"发现漏洞后反应够不够快"。
>
—— 补丁已出,行动在你。
*参考来源:Theori技术报告 (theori-io)、xint.io详细分析、Linux内核commit a664bf3d603d*
*本文仅供安全研究和防御参考,请勿用于非法用途。*