2026年最新Linux内核高危提权漏洞全景分析
Copy Fail / Dirty Frag / Fragnesia / PinTheft —— 两周四枚核弹,你的服务器还好吗?
Acdante 安全应急响应-汇集信息:2026年5月29日。这个月以来,Linux层面的长期超高危提权漏洞频繁发布公开,像是一个炸弹,炸穿几乎所有发行版本,还是需要重视起来
⚠️ 特别声明本文仅供安全应急响应和防御参考。严禁在生产环境中测试、复现或验证漏洞 PoC公开 PoC 会触碰 setuid 程序和页缓存,即使声称"无害",也可能造成系统状态异常、服务中断甚至数据损坏。请务必在隔离测试环境中操作。
📑 目录
1事件时间线:两周四枚"核弹"
2漏洞一:Copy Fail(CVE-2026-31431)
3漏洞二:Dirty Frag(CVE-2026-43284 / CVE-2026-43500)
4漏洞三:Fragnesia(CVE-2026-46300)
5漏洞四:PinTheft(CVE-2026-43494)
6受影响版本范围总览
7各厂商修复方案与链接
8🚨 应急处置指南(优先级排序)
9内核升级路径与注意事项
10升级可能带来的影响
11排查与检测方法
12长期安全加固建议
13参考资料
一、事件时间线:两周四枚"核弹"
2026年4月底至5月中旬,Linux内核安全领域经历了一轮前所未有的高危漏洞集中爆发。四个独立但技术路径相似的本地提权漏洞接连被披露,它们共同指向了内核页缓存(Page Cache)污染这一攻击面:
2026-04-29
Copy Fail(CVE-2026-31431)被安全厂商 Theori 公开披露,CVSS 7.8,影响自 2017 年以来几乎所有主流 Linux 发行版
2026-05-08
Dirty Frag(CVE-2026-43284 + CVE-2026-43500)被韩国安全研究员 Hyunwoo Kim 披露,CVSS 7.8,Copy Fail 的"表亲",利用 xfrm-ESP 和 RxRPC 路径
2026-05-13
Fragnesia(CVE-2026-46300)被披露,CVSS 7.8,Dirty Frag 修复过程中引入的新缺陷变种,利用 espintcp ULP 路径
2026-05-27
PinTheft(CVE-2026-43494)被披露,涉及内核 mm 子系统,本地权限提升,与上述漏洞同属页缓存/内存管理类攻击面
⚡ 核心要点 这四个漏洞均为本地提权漏洞,攻击者需先获取普通用户权限。但在容器环境、CI/CD、共享开发机、AI Agent 执行环境等场景下,"低权限代码执行"入口普遍存在,本地提权 = 节点级失陷。
二、Copy Fail(CVE-2026-31431)
CVE-2026-31431 · Copy Fail
CVSS 7.8(高危)| 发现者:Theori 研究员 Taeyang Lee | 披露时间:2026-04-29影响组件:Linux kernel crypto / algif_aead / authencesn | 利用难度:极低
2.1 漏洞本质
Copy Fail 的核心问题在 Linux 内核 crypto 子系统。当 algif_aead / authencesn 相关路径处理 AF_ALG 和 splice() 组合时,可能把一次本应失败的加密操作,变成对文件 Page Cache 的可控写入。
名字"Copy Fail"的含义:一次本该安全失败(Fail)的数据拷贝(Copy)操作,把写入带到了不该被写的位置。
2.2 技术原理(四步链)
- AF_ALG 触达:攻击者通过 AF_ALG socket 接口调用内核 crypto 能力
- splice() 引入 Page Cache:利用 splice 的零拷贝特性,将目标文件(如 /usr/bin/su)的页缓存引用带入 crypto 处理链
- in-place 路径放大:algif_aead 的 in-place 优化将 Page Cache 放到了可写位置
- 失败前写入:authencesn 在认证检查失败前,已向 destination buffer 写入少量字节——操作最终失败,但写入已发生
2.3 核心特点
| |
|---|
| 732字节 Python 代码,无需适配不同发行版 |
| |
| 仅篡改 Page Cache,传统文件完整性校验可能漏报 |
| |
三、Dirty Frag(CVE-2026-43284 / CVE-2026-43500)
CVE-2026-43284 + CVE-2026-43500 · Dirty Frag
CVSS 7.8(高危)| 发现者:韩国安全研究员 Hyunwoo Kim | 披露时间:2026-05-08影响组件:xfrm-ESP / RxRPC Page-Cache Write 路径 | 利用难度:极低
3.1 漏洞本质
Dirty Frag 并非单一漏洞,而是两个独立漏洞组成的"漏洞链",分别潜伏在内核的不同子系统中:
- CVE-2026-43284:xfrm-ESP Page-Cache Write 漏洞——通过 IPsec ESP 协议栈的页缓存处理缺陷实现写入
- CVE-2026-43500:RxRPC Page-Cache Write 漏洞——通过 RxRPC 协议栈的页缓存处理缺陷实现写入
3.2 为什么叫"Dirty Frag"
名称源自 Dirty Pipe(CVE-2022-0847)的致敬。Dirty Frag 表明:即使 Dirty Pipe 类漏洞被修复,内核中仍存在通过分片(Fragment)机制污染页缓存的攻击路径。这是一个纯逻辑漏洞,不依赖内存损坏,成功率极高,失败也不会导致内核崩溃。
3.3 openKylin 受影响确认
- xfrm-ESP 漏洞:openKylin 2.0 SP1、2.0 SP2 均受影响
- RxRPC 漏洞:默认未编译,但代码仍存在风险;用户自行编译加载 rxrpc 后仍受影响
四、Fragnesia(CVE-2026-46300)
CVE-2026-46300 · Fragnesia
CVSS 7.8(高危)| 披露时间:2026-05-13 | POC 状态:已公开影响组件:espintcp ULP + splice 路径 | 影响量级:百万级
4.1 漏洞本质
Fragnesia 是 Dirty Frag 漏洞家族的独立新变种,但它并非简单的 copy——它源自修复 Dirty Frag 时引入的新缺陷。
内核在合并 socket 缓冲区时未能正确传播共享分片标记,导致攻击者可以将只读文件页缓存误当作 ESP 密文进行原地解密。通过 splice 和 espintcp ULP 组合操作,攻击者可以逐字节篡改文件页缓存(如 /usr/bin/su),在不写入磁盘的情况下执行提权代码。
4.2 Ubuntu AppArmor 缓解
Ubuntu 默认的 AppArmor 配置会限制非特权 user namespace,对公开利用形成一定缓解。但需注意:这不是完整修复,且其他发行版通常不具备此默认配置。
五、PinTheft(CVE-2026-43494)
CVE-2026-43494 · PinTheft
披露时间:2026-05-27 | 影响组件:Linux kernel mm 子系统漏洞类型:本地权限提升 | 关联漏洞:CVE-2026-46333(信息泄露)
5.1 漏洞概述
PinTheft 是 2026 年 5 月底最新披露的内核提权漏洞,涉及内核 mm(内存管理)子系统。该漏洞与 CVE-2026-46333(信息泄露漏洞)一同被香港政府电脑保安协调中心列入高危保安警报(A26-05-45)。
与前述三个漏洞类似,PinTheft 同样允许本地攻击者在未经授权下提升权限。虽然技术细节尚在逐步公开中,但从已有信息判断,它与 Copy Fail / Dirty Frag / Fragnesia 同属页缓存/内存管理类攻击面,进一步印证了内核这一层面的安全隐患正在被系统性挖掘。
⚡ 持续关注 PinTheft 的完整技术细节和受影响范围仍在更新中。建议持续关注内核上游和各发行版安全公告,本文将在后续更新中补充详细信息。
六、受影响版本范围总览
这些漏洞源自 2017 年前后的内核代码优化,2017 年后主流发行版普遍受影响。以下是综合各漏洞的受影响范围:
| | |
|---|
| Ubuntu | 20.04 / 22.04 / 24.04 LTS(6.2.x ~ 6.17.x) | |
| Debian | | |
| RHEL / CentOS | RHEL 10.1(6.12.0-124.45.1.el10_1)及更早版本 | |
| Rocky / AlmaLinux | | |
| Amazon Linux 2023 | | |
| SUSE / openSUSE | SUSE 16(6.12.0-160000.9-default) | |
| openKylin | | |
| openEuler | | |
| AnolisOS | | |
| Arch Linux | | |
💡 排查提示 不要只看主线内核版本号。很多发行版会 backport 修复,内核版本字符串看起来没有变化,但补丁已经合入。也可能版本看起来接近安全线,但发行版还没发布对应修复包。最终应以发行版安全公告、补丁包和实际运行内核为准。
七、各厂商修复方案与链接
7.1 主线内核修复
| | |
|---|
| a664bf3d603d(回退 2017 年 in-place 优化) | 7.0 / 6.19.12+ / 6.18.22+ |
| | |
| | |
| | |
7.2 Ubuntu
# 更新软件源并升级内核
sudo apt update && sudo apt full-upgrade -ysudo reboot
# 验证(应 >= 6.17.0-1008-aws)
uname -r
📎 安全公告:https://ubuntu.com/security/CVE-2026-31431
Ubuntu 特别说明:在正式内核补丁发布前,Ubuntu 已通过更新 kmod 禁止加载 algif_aead 模块作为缓解措施。
7.3 RHEL / CentOS / Rocky / AlmaLinux
# 升级内核
sudo dnf update kernel kernel-core -ysudo reboot
# 验证
rpm -q kerneluname -r
📎 Red Hat 安全中心:https://access.redhat.com/security/security-updates/
📎 CVE 详情:https://access.redhat.com/security/cve/CVE-2026-31431
💡 RHEL 修复版本RHEL 10.1 修复版本:6.12.0-124.46.1.el10_1 及以上CentOS Stream:跟进 RHEL 最新内核更新
7.4 openEuler
openEuler 社区已关注上述漏洞,建议通过官方安全公告获取最新修复进展:
📎 openEuler 安全公告页:https://www.openeuler.org/zh/security/security-bulletins/
📎 openEuler 内核仓库:https://gitee.com/openeuler/kernel
# openEuler 升级内核
sudo dnf update kernel -ysudo reboot
# 验证
uname -r
7.5 AnolisOS
AnolisOS 与 RHEL 内核同源,修复进度跟进 RHEL:
📎 龙蜥社区安全公告:https://openanolis.org/zh/security
📎 AnolisOS 内核更新:https://gitee.com/anolis/cloud-kernel
# AnolisOS 升级内核
sudo yum update kernel -ysudo reboot
# 验证
uname -r
7.6 openKylin
openKylin 社区已确认受影响并正在修复:
📎 xfrm-ESP 修复 Issue:https://gitee.com/openkylin/linux/issues/IJM30P
📎 RxRPC 修复 Issue:https://gitee.com/openkylin/linux/issues/IJM30R
📎 安全公告页:https://www.openkylin.top/support/patch-cn.html
7.7 Debian
# 升级内核
sudo apt update && sudo apt install linux-image-amd64 -ysudo reboot
📎 Debian 安全追踪:https://security-tracker.debian.org/tracker/CVE-2026-31431
7.8 SUSE / openSUSE
# 升级内核
sudo zypper update kernel -ysudo reboot
📎 SUSE 安全公告:https://www.suse.com/support/security/
7.9 Amazon Linux
# 升级内核
sudo yum update kernel -ysudo reboot
📎 Amazon Linux 安全公告:https://alas.aws.amazon.com/
🚨 八、应急处置指南(优先级排序)
⚠️ 再次强调:不要在生产环境测试和复现漏洞!公开 PoC 会修改 setuid 程序的页缓存内容,可能导致系统服务异常、SSH 登录失败、sudo 不可用等严重后果。生产环境应以版本确认 + 补丁验证 + 行为排查 为主,不要运行任何 PoC 代码。
8.1 分级处置优先级
| | |
|---|
| | 唯一彻底修复方法,优先处理 K8s 节点、CI Runner、容器宿主机 |
| | |
| | |
| | GitHub Actions / GitLab Runner 会执行外部代码,高风险 |
| | 阻止不可信工作负载创建 AF_ALG socket |
| | 审计 splice / AF_ALG 调用、异常提权行为 |
8.2 环境排查优先级
建议按以下顺序排查,不要平均用力:
- 第一梯队:Kubernetes 节点、CI/CD Runner、容器宿主机、GPU 节点
- 第二梯队:共享开发机、跳板机、构建机、运维工具机、AI Agent 执行机
- 第三梯队:存在低权限落点风险的业务服务器(Web RCE、弱口令、文件上传等历史问题)
- 第四梯队
8.3 临时缓解命令(无法立即升级时)
针对 Copy Fail:
# 禁用 algif_aead 模块
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif-aead.confrmmod algif_aead 2>/dev/null || true
# 验证
modprobe algif_aead 2>&1 || echo "✓ algif_aead 已禁用"
针对 Dirty Frag + Fragnesia(推荐同时禁用):
# 一条命令覆盖所有已知相关模块
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
⚠️ 影响说明• 禁用 algif_aead:不影响 dm-crypt/LUKS、kTLS、IPsec/XFRM、OpenSSL、SSH;可能影响显式使用 AF_ALG 的应用• 禁用 esp4/esp6:影响 IPsec VPN 服务(strongSwan / Libreswan)• 禁用 rxrpc:影响 AFS(Andrew File System)• 大多数桌面和服务器环境默认不依赖这些模块,影响可控
九、内核升级路径与注意事项
9.1 推荐升级路径
| | |
|---|
| apt update && apt full-upgrade -y | |
| apt update && apt full-upgrade -y | |
| dnf update kernel -y | |
| dnf update kernel -y | |
| dnf update kernel -y | |
| yum update kernel -y | |
| apt update && apt install linux-image-amd64 -y | |
| zypper update kernel -y | ≥ 6.12.0-160000.10-default |
| yum update kernel -y | |
9.2 升级后验证
# 确认当前运行内核版本
uname -r
# 确认已安装的内核包
rpm -q kernel 2>/dev/null || dpkg -l | grep linux-image
# 确认系统启动时间(应为重启后时间)
uptime
# 确认模块状态
lsmod | grep -E "algif_aead|esp4|esp6|rxrpc"
⚠️ 关键提醒安装修复包以后,必须确认正在运行的内核已经切换到修复后的版本,而不是只安装了包但没重启。很多运维事故的根因就是"补丁装了但没重启"。
十、升级可能带来的影响
10.1 需要维护窗口
内核升级需要重启系统才能生效。对于容器节点、CI Runner、数据库服务器等关键基础设施,需要提前安排维护窗口。
10.2 驱动兼容性
部分第三方内核模块(如 GPU 驱动、存储驱动、网络驱动)可能需要重新编译或更新以匹配新内核版本。升级前建议:
lsmod | grep -v -E "^Module|kernel|drm|net|fs|crypto"
10.3 容器运行时
Docker、containerd、CRI-O 等容器运行时通常兼容新内核,但建议升级后验证容器启动和网络功能。
10.4 业务连续性
十一、排查与检测方法
11.1 确认系统是否受影响
# 查看内核版本
uname -r
# 查看发行版信息
cat /etc/os-release
# 检查 algif_aead 模块状态
lsmod | grep algif_aeadmodinfo algif_aead 2>/dev/null
# 检查 AF_ALG 使用痕迹
ss -xa | grep -i alg
# 检查是否启用了 authencesn
cat /proc/crypto | grep authencesn
11.2 异常提权行为排查
重点关注以下异常:
- 普通用户突然执行 setuid 程序后获得 root
- CI Runner、容器任务、Notebook 进程出现不符合任务预期的 root shell
- 短时间内出现大量 AF_ALG、splice()、sendmsg()、recvmsg() 相关系统调用
- 提权后出现账号变更、SSH key 写入、sudoers 修改、计划任务、systemd 服务变更
- 构建机、Agent 执行机上出现异常访问源码、制品、云凭据、环境变量的行为
11.3 审计监控建议
# 使用 auditd 监控 splice 系统调用
auditctl -a always,exit -F arch=b64 -S splice -k splice-monitor
# 监控 AF_ALG socket 创建
auditctl -a always,exit -F arch=b64 -S socket -F a0=38 -k afalg-monitor
💡 Page Cache 特殊性 Copy Fail 等漏洞的特殊点在于:攻击者污染的是页缓存,磁盘上的文件内容未必发生变化。你对磁盘文件做 hash,可能还是原来的结果;但某个进程执行这个文件时,读到的却可能是内存里被改过的缓存页。排查时不能只盯着"文件有没有被改",要同时看进程行为、权限变化和持久化痕迹。
十二、长期安全加固建议
- 开启内核锁定:
sysctl kernel.kptr_restrict=2 - 减少本地提权面:限制普通用户 shell 访问,清理不必要的 setuid 程序
- 容器加固:不使用 privileged 模式,限制 /proc、/sys 访问,使用只读文件系统
- seccomp 策略:对不可信工作负载限制 AF_ALG 等危险 socket 创建
- EDR 检测:部署 EDR 工具,重点检测 AF_ALG + splice 组合调用、setuid 程序异常行为
- 定期更新:建立内核安全补丁的定期更新机制,避免"补丁装了但没重启"的情况
- 最小权限原则:容器和进程遵循最小权限原则,drop ALL capabilities 后按需添加
十三、参考资料
Copy Fail (CVE-2026-31431)
- Copy Fail 官方:https://copy.fail/
- CVE 官方记录:https://www.cve.org/CVERecord?id=CVE-2026-31431
- Theori 技术分析:https://xint.io/blog/copy-fail-linux-distributions
- oss-security 讨论:https://www.openwall.com/lists/oss-security/2026/04/29/23
- Linux stable 补丁:https://git.kernel.org/stable/c/a664bf3d603d
- Microsoft 安全分析:Microsoft Security Blog
- CERT-EU 安全公告:CERT-EU-2026-005
Dirty Frag (CVE-2026-43284 / CVE-2026-43500)
- openKylin 安全通告:openKylin 安全公告页
Fragnesia (CVE-2026-46300)
- Wiz 技术分析:Fragnesia via ESP-in-TCP
- netdev 邮件列表:https://lists.openwall.net/netdev/2026/05/13/79
PinTheft (CVE-2026-43494)
厂商安全公告
- Ubuntu:https://ubuntu.com/security/CVE-2026-31431
- Red Hat:https://access.redhat.com/security/cve/CVE-2026-31431
- openEuler:https://www.openeuler.org/zh/security/security-bulletins/
- AnolisOS:https://openanolis.org/zh/security
- openKylin:https://www.openkylin.top/support/patch-cn.html
- Debian:https://security-tracker.debian.org/tracker/CVE-2026-31431
- SUSE:https://www.suse.com/support/security/
- Amazon Linux:https://alas.aws.amazon.com/
✅ 总结2026年4-5月的内核提权漏洞潮,本质上暴露了 Linux 内核页缓存管理这一攻击面的系统性风险。从 Copy Fail 到 Dirty Frag 到 Fragnesia 到 PinTheft,攻击者正在系统性地挖掘 splice() + 各协议栈的 page cache 污染路径。应急处置三步走:① 立即确认内核版本和发行版补丁状态② 优先升级 K8s 节点、CI Runner、容器宿主机③ 无法升级时,先禁用相关内核模块做临时缓解最后再说一次:不要在生产环境测试和复现漏洞 PoC。测试环境随便折腾,生产环境只做版本确认和补丁升级。
📌 本文信息采集截至 2026年5月29日,漏洞信息持续更新中,请关注各厂商安全公告获取最新进展。
⚠️ 本文仅供安全防御参考,严禁用于非法攻击或未授权测试。
Acdante 安全应急响应 · 2026