
Минимальная сборка PoC ELF для Linux x86_64 без libc для Copy Fail (CVE-2026-31431)
Минимальный эксплойт размером 436 байт для Copy Fail, благодаря силе гольфинга
Этот ELF ультра-гольфит эксплойт, будучи полностью неотображённым, rwx, и используя себя условно в качестве ELF-пейлоада для отравления кэша. Более проклятые внутренности ELF для гольфинга скоро появятся
Есть идея лучше? Соревнуйтесь на https://copy.golf/
=== НАЧАЛО НЕБРЕЖНОЙ ЧАСТИ ===
На Debian/Ubuntu:
sudo apt install build-essential binutils
Репозиторий включает закреплённые shell.nix и .envrc.
С nix-shell:
nix-shell
С direnv:
direnv allow
Это обеспечивает воспроизводимый инструментарий, используемый здесь:
gcc 15.2.1
GNU ld / strip из llvmPackages_19.bintools
python3
make
Если вы используете Nix или direnv, make автоматически использует инструментарий из окружения.
Вы также можете попробовать эксплойт внутри быстрой VM Ubuntu Server 24.04 LTS
cd test-vm
./quick-test.sh
make size
make clean
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04.1)
GNU ld (GNU Binutils for Ubuntu) 2.42
GNU strip (GNU Binutils for Ubuntu) 2.42
Воспроизводимая сборка меньшего размера:
gcc 15.2.1
GNU ld 2.46
GNU strip с --strip-section-headers
Итоговый размер зависит от GCC, binutils и реализации strip.