Linux高危提权漏洞“Copy Fail”预警 主流 Linux 发行版均受影响
Linux 内核披露本地权限提升高危漏洞(CVE-2026-31431,CVSS 3.1:7.8),该漏洞源于 AF_ALG 接口中的逻辑缺陷,攻击者在无需额外特权的前提下,可篡改任意只读文件的页缓存内容,进而完成从普通用户到 ROOT 权限的本地提权。
本文对该漏洞的影响范围、修复建议、技术原理及复现信息进行汇总说明,建议受影响用户尽快完成排查与升级。
受影响版本说明如下:
该漏洞于 2017 年引入,对应引入提交为:
https://github.com/torvalds/linux/commit/72548b093ee3
官方修复提交为:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a664bf3d603d
截至当前日期,5.10、5.15、6.1、6.6、6.12 等长期维护版本均处于受影响状态;6.18 长期维护分支已在 6.18.22 版本中完成修复。正式防护方案
建议优先应用官方发布的安全补丁:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a664bf3d603d
临时防护措施
在无法立即完成内核升级或补丁加固的情况下,可通过禁用 `algif_aead` 模块加载的方式降低风险暴露面。
CVE-2026-31431(Copy Fail)是 Linux 内核 AF_ALG AEAD 接口中的本地权限提升漏洞。攻击者可通过 `splice()` 将可读文件的页缓存页引入 `algif_aead` 的解密路径,而 `authencesn` 在解密过程中会在目标 `scatterlist` 的 `assoclen + cryptlen` 位置触发一次 4 字节越界 scratch write。结合 `algif_aead` 的 in-place 处理机制,该越界写入最终会落入任意可读文件的页缓存,而非用户态缓冲区。基于这一特性,攻击者即使不直接改写磁盘文件,也能够篡改诸如 setuid 二进制文件的内存页缓存内容,从而实现稳定的本地提权。
复现过程应重点围绕 AF_ALG AEAD 接口、`splice()` 数据路径以及页缓存篡改效果展开验证,并结合目标环境中的 setuid 程序评估实际提权影响。

官方修复方案
官方已发布修复方案,建议直接访问以下链接获取并部署对应补丁:
https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5。