跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

WeLinux

  1. 主页
  2. 版块
  3. 讨论
  4. CVE-2026-31431 "Copy Fail":Linux 内核页缓存 4 字节写漏洞,732 字节 PoC 可通杀 2017 年以来所有主流发行版

CVE-2026-31431 "Copy Fail":Linux 内核页缓存 4 字节写漏洞,732 字节 PoC 可通杀 2017 年以来所有主流发行版

已定时 已固定 已锁定 已移动 讨论
安全linuxcve内核漏洞提权
1 帖子 1 发布者 6 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • R 离线
    R 离线
    ref
    编写于 最后由 编辑
    #1

    安全研究团队 Theori 旗下的 Xint Code 于 4 月 29 日公开披露 CVE-2026-31431(“Copy Fail”)——一个在 Linux 内核加密子系统中潜伏近十年的直线逻辑缺陷,无需竞态条件、无需内核版本特定偏移,同一支 732 字节 Python 脚本(仅用标准库)可在 Ubuntu、Amazon Linux、RHEL、SUSE 四大发行版上稳定获取 root shell,并已确认可作为容器逃逸原语横穿 Kubernetes 节点边界(Part 2 技术细节待发)。漏洞根本原因在于三个独立修改在时间轴上的交叉:2011 年 authencesn 加入内核以支持 IPsec ESN 时将调用方目标 scatterlist 当作 ESN 字节交换的临时暂存区;2015 年 AF_ALG 获得 AEAD 支持并引入 splice() 路径,可将页缓存页(包含 setuid 二进制文件的内存镜像)以引用方式直接喂入加密 scatterlist;2017 年 algif_aead.c 引入"就地(in-place)"优化,令 req->src = req->dst 且通过 sg_chain() 把页缓存的 tag 页链接到可写目标 scatterlist——至此 authencesn 的越界 4 字节写正好落入页缓存中,而该写入完全绕过 VFS writeback 路径,磁盘文件保持不变,基于磁盘校验的完整性工具无法检测。利用时攻击者以 splice() 将 /usr/bin/su 的页缓存喂入 AF_ALG socket,通过选择 assoclen 与 splice 偏移精确控制写入位置,通过 sendmsg AAD bytes 4–7(seqno_lo)控制写入值,多轮调用后在内存中注入 shellcode,execve("/usr/bin/su") 即触发提权——无需特权,唯需普通本地用户账号。

    漏洞于 3 月 23 日向 Linux 内核安全团队报告,4 月 1 日主线提交修复(commit a664bf3d603d,撤销 2017 年的 in-place 优化,将 req->src 与 req->dst 重新分离为独立 scatterlist),4 月 22 日分配 CVE 编号,4 月 29 日公开披露。主流发行版(RHEL、Ubuntu、SUSE、Debian)正在或已推送含修复的内核包。紧急缓解措施为禁用 algif_aead 模块:执行 echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf && rmmod algif_aead 2>/dev/null;此操作对 dm-crypt/LUKS、kTLS、IPsec/XFRM、OpenSSL 默认构建均无影响,仅影响显式启用 afalg 引擎的少数配置。对 CI runner、容器沙盒、多租户主机等不可信工作负载,无论是否已打补丁均建议通过 seccomp 阻断 AF_ALG socket 创建。

    Copy Fail | Xint Blog | GitHub PoC | Red Hat | Ubuntu | Debian | SUSE

    Link Preview Image
    Copy Fail — 732 Bytes to Root

    Copy Fail (CVE-2026-31431): a 732-byte Linux LPE — straight-line, no race, no per-distro offsets. Same Python script roots Ubuntu, Amazon Linux, RHEL, SUSE since 2017. Page-cache write bypasses on-disk file-integrity tools and crosses container boundaries. Found by Xint Code.

    favicon

    Xint (copy.fail)

    Link Preview Image
    Copy Fail: 732 Bytes to Root on Every Major Linux Distribution. - Xint

    Xint Code disclosed CVE-2026-31431, an authencesn scratch-write bug chaining AF_ALG + splice() into a 4-byte page cache write. A 732-byte PoC gets root on Ubuntu, Amazon Linux, RHEL, SUSE. | AI for Security, Vulnerability Research

    favicon

    (xint.io)

    Link Preview Image
    GitHub - theori-io/copy-fail-CVE-2026-31431

    Contribute to theori-io/copy-fail-CVE-2026-31431 development by creating an account on GitHub.

    favicon

    GitHub (github.com)

    1 条回复 最后回复
    0

    你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

    厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

    有了你的建议,这篇帖子会更精彩哦 💗

    注册 登录
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    Powered by NodeBB Contributors
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • 世界
    • 用户
    • 群组