Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CopyFail-for-dummies — Linux 内核 CVE-2026-31431 的研究笔记与概念验证,记录了 AF_ALG splice() 页缓存损坏漏洞,并附有源码工件和示意图。 | Kitploit
工具/GitHubGitHub/chernstepanov/copyfail-for-dummies
漏洞分析漏洞利用二进制分析论文与研究学习与教育
GitHubchernstepanov/copyfail-for-dummies

CopyFail-for-dummies

Linux 内核 CVE-2026-31431 的研究笔记与概念验证,记录了 AF_ALG splice() 页缓存损坏漏洞,并附有源码工件和示意图。

查看仓库
13个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Copy Fail / CVE-2026-31431 — 研究笔记

概述

本仓库包含一份整理后的技术示意图及配套说明,针对通常被称为 Copy Fail 并以 CVE-2026-31431 追踪的 Linux 内核漏洞。

本材料的目的是:

  • 从系统层面解释该漏洞机制;
  • 记录 AF_ALG、algif_aead、splice()、文件后备页与页缓存损坏之间的关系;
  • 为报告、案例研究和防御简报提供一份可直接发布的示意图。

本仓库并非漏洞利用指南。

在实际层面,本仓库以更易于检查的非压缩形式,扩展并记录了原始公开的最小化 copy.fail 概念验证,并包含一个面向 C++ 二进制的变体。所包含的材料仅适用于 64 位系统。


工作原理

从高层来看,该问题与 algif_aead 路径中的错误就地处理有关。

重要的概念链条如下:

  1. 本地非特权进程通过 AF_ALG 与内核加密 API 交互;
  2. 一个 AEAD 请求被提交到 algif_aead;
  • 文件后备页可通过涉及 splice() 的零拷贝路径进入处理链;
  • 选择了一个错误的就地路径,其中某个页可能被当作可写目的地处理;
  • 一次小型辅助写入落入页缓存后备页;
  • 磁盘上的文件保持不变,但内存中的缓存表示被损坏;
  • 后续执行可能消费损坏的缓存表示,而非干净的磁盘内容。
  • 核心分析点在于以下两者之间的分歧:

    • 未改变的磁盘文件,以及
    • 内存中被修改的缓存表示。

    Copy Fail 示意图


    本仓库包含的内容

    • copyfail.cpp — C++ 研究源码工件
    • copyfail.py — Python 研究源码工件
    • copyfail — 编译后的 C++ 二进制工件

    二进制构建

    本仓库还包含一个由 C++ 源文件构建的编译后 C++ 二进制工件。示例构建命令:

    root@kitploit:~
    g++ -Os -s copyfail.cpp -lz -o copyfail
    

    免责声明

    本仓库仅用于防御性研究、文档记录和教育分析。

    请勿将其用于针对真实系统、修改特权可执行文件或获取未经授权的访问。

    下载工具