当前位置: 首页 > news >正文

CVE-2026-31431 (Copy Fail) 漏洞复现与验证记录

CVE-2026-31431 (Copy Fail) 漏洞复现与验证记录

时间:2026年4月30日
目标:验证 Linux 内核本地提权漏洞 CVE-2026-31431 的真实性与影响范围

一、漏洞概述

CVE-2026-31431,命名为“Copy Fail”,是一个 Linux 内核algif_aead模块中的高危本地提权漏洞。该漏洞自 2017 年起潜伏于内核,影响几乎所有主流 Linux 发行版(包括 Ubuntu、Debian、RHEL、SUSE 等)。攻击者利用该漏洞可在非 root 用户条件下获得完整的 root 权限。CVSS v3.1 评分为7.8(高危),其利用代码(PoC)已于 2026 年 4 月 30 日公开,拥有极高的现实威胁性。

二、影响范围

  • 受影响内核版本:2017 年之后的绝大多数 Linux 内核(包括但不限于 5.x、6.x、7.x 早期版本)
  • 已确认受影响的发行版及内核
    • Ubuntu 24.04 LTS(内核 6.8.0-41-generic)
    • Ubuntu 22.04 LTS(内核 5.15.0-176-generic)
    • 其他基于相同内核版本的 Linux 系统

三、复现环境

3.1 x86_64 环境(成功提权)

项目信息
操作系统Ubuntu 24.04 LTS(基于内核 6.8.0-41)
架构x86_64
内核版本6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024
完整 uname -aLinux ubuntu-1170-12-2C-V11C 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
漏洞模块algif_aead
Python 版本3.10.x(系统自带)
用户权限普通用户 (uid=1000)

3.2 ARM64 环境(漏洞存在,PoC 未适配)

项目信息
操作系统Ubuntu 22.04.2 LTS
架构aarch64 (ARM64)
内核版本5.15.0-176-generic
漏洞模块algif_aead
Python 版本3.12.13(自编译)
用户权限普通用户 (uid=1000)

四、验证过程

4.1 x86_64 环境:成功提权

  1. 下载公开 PoC(以原始exp.py为例):

    wgethttps://raw.githubusercontent.com/theori-io/copy-fail-CVE-2026-31431/main/exp.py
  2. 确认漏洞模块已加载

    lsmod|grepalgif_aead
    • 若未加载,手动加载:sudo modprobe algif_aead
  3. 以普通用户身份运行 PoC

    python3 exp.py
  4. 执行结果

    # whoami root # uname -a Linux ubuntu-1170-12-2C-V11C 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

    成功获得 root shell,验证漏洞真实存在且利用稳定。

4.2 ARM64 环境:漏洞存在但 PoC 不兼容

  1. 检查内核版本与模块

    parallels@ubuntu:~$uname-r5.15.0-176-generic parallels@ubuntu:~$ lsmod|grepalgif_aead algif_aead204800af_alg327681algif_aead

    → 满足漏洞触发条件。

  2. 尝试运行 x86 版 PoC(未经修改):

    python3 arm_exp.py

    出现错误:

    sh: 1: su: Exec format error

  3. 原因分析

    • 公开 PoC 中嵌入的shellcode 为 x86_64 架构指令。
    • 在 ARM64 系统上执行该 PoC 时,shellcode 被写入/usr/bin/su的内存映射,导致su二进制文件损坏(ELF 头被错误指令覆盖),系统无法识别。
    • 漏洞本身在 ARM64 内核中同样存在,但缺乏适配的 ARM64 利用代码。
  4. 进一步验证 ARM64 漏洞存在性

    • 执行sudo apt install --reinstall passwd恢复损坏的su
    • 漏洞触发条件(algif_aead可用 + 内核版本未修复)依然满足。
    • 结论:ARM64 系统确实存在漏洞,只是无法利用现有的 x86 PoC 提权。

五、漏洞原理简述

Copy Fail漏洞位于algif_aead内核模块的处理逻辑中。攻击者通过精心构造的sendmsg调用触发内核内存复制竞争条件,导致任意内核内存写入。在 PoC 中,攻击者将目标锁定为su程序的内存映像,覆盖其代码段中的特定字节,使其执行execve("/bin/sh")从而获得 root shell。

六、修复建议

6.1 立即升级内核(官方补丁)

发行版修复内核版本(示例)
Ubuntu 22.04≥ 5.15.0-178
Ubuntu 24.04≥ 6.8.0-42
通用 Linux≥ 6.18.22 / 6.19.12 / 7.0

执行以下命令更新系统并重启:

sudoaptupdate&&sudoaptupgrade-ysudoreboot

6.2 临时缓解措施(无法立即升级时)

禁用存在漏洞的内核模块algif_aead

echo"install algif_aead /bin/false"|sudotee/etc/modprobe.d/disable-algif-aead.confsudormmod algif_aead2>/dev/null

注意:禁用该模块可能会影响某些使用 AEAD 算法的加密应用,但通常不影响日常使用。

七、总结

环境漏洞存在成功提权原因
Ubuntu 24.04 LTS(基于内核 6.8.0-41)公开 PoC 直接可用
ARM64 Ubuntu 22.04PoC 不兼容,需适配 shellcode
  • CVE-2026-31431 是一个真实且高危的 Linux 本地提权漏洞,影响广泛。
  • 普通用户应立即更新内核,避免被恶意攻击者利用。
  • 安全研究人员在 ARM64 平台上复现时,需要自行编译 ARM64 版本的 shellcode 并修改 PoC 中的写入逻辑(保留 ELF 头完整性)。目前公开的 PoC 仅支持 x86_64。

八、附录

A. 恢复被损坏的su命令(ARM64 环境)

如果运行 x86 PoC 导致/usr/bin/su损坏,执行:

sudoaptinstall--reinstallpasswd

B. 参考链接

  • GitHub PoC 仓库(x86_64 版本)
  • [Ubuntu Security Notice (预期发布编号 USN-xxxx-x)]
  • Linux Kernel Mailing List 补丁讨论

声明:本文仅用于安全研究和技术交流,请勿用于非法攻击。建议所有受影响用户尽快升级修复。

http://www.jsqmd.com/news/733299/

相关文章:

  • 6款UI设计工具技术横评(2026):从产品架构到协作能力等的工程化对比
  • 别光做仿真!用MATLAB App Designer给贪吃蛇做个图形界面(保姆级教程)
  • Display Driver Uninstaller (DDU):彻底解决显卡驱动问题的3步终极方案
  • 2026年选床垫弹簧机,这些老牌设备商更靠谱
  • Chrome文本替换插件实战指南:智能编辑网页内容的利器
  • MPC-BE:Windows平台开源媒体播放器的架构深度解析与技术实践
  • 如何快速提升Windows性能:Win11Debloat终极优化指南
  • 从设计图纸到车间工单:手把手拆解SAP中BOM数据的完整流转链路
  • 2026年4月第5周网络安全形势周报
  • 影石创新第一季营收24.8亿:扣非后净利6225万 同比降61%
  • IDE Eval Resetter:JetBrains IDE试用期管理解决方案的技术深度解析
  • 别再死磕TSP了!用Python+遗传算法搞定带时间窗的VRP(附完整代码)
  • C语言数据结构2-单向链表实现
  • 终极指南:如何让多显示器鼠标移动如丝般顺滑?LittleBigMouse完整教程
  • 实测 GPT Image 2 的 6 个深度玩法,效率确实不一样,8 分钱一张,实在便宜
  • 基于blop-wizard快速构建AI对话应用:从架构到部署全解析
  • Keras模型持久化:保存、加载与生产部署实战
  • 用Python调用Taotoken聚合大模型快速生成视频片段创意文案
  • 对比自行维护多个API源,使用Taotoken聚合服务在稳定性上的体感差异
  • 从‘上线’到‘控域’:用CobaltStrike插件+MS14-058实战内网横向移动全记录
  • TTP229触摸模块的‘单键’与‘多键’模式到底怎么选?51单片机实测避坑
  • 全国17省病害监测站内部培训材料首度流出(R语言病害时空预测SOP手册·2024修订版)
  • E-SMILES扩展标准:化学信息学中的分子表示新方法
  • AI 后台任务静默丢失的链路治理:从状态机缺陷到可观测性闭环的工程复盘
  • 5步掌握Silk v3音频转换:微信语音解码与QQ音频处理终极指南
  • 终极多屏鼠标优化:3步解决Windows跨屏DPI跳转问题
  • 3分钟搞定实时屏幕翻译:游戏外语、视频硬字幕全解决
  • 不用再学“龙虾语“了,QClaw 升级!
  • CC-Switch 下载、CC-Switch安装 一键安装配置【2026.4.30】
  • 好用的AI工具企业