
# Construction PoC minimaliste sans libc d'un ELF Linux x86_64 pour Copy Fail (CVE-2026-31431)
Exploit minimal de 436 octets pour Copy Fail, grâce au pouvoir du golfing
Cet ELF ultra-golfé exploite la faille en étant totalement non mappé, rwx, et en s'utilisant lui-même conditionnellement comme charge utile ELF pour empoisonner le cache. D'autres golfs d'internals ELF maudits arrivent bientôt
Vous avez une meilleure idée ? Competez sur https://copy.golf/
=== DÉBUT DE LA PARTIE BÂCLÉE ===
Sur Debian/Ubuntu :
sudo apt install build-essential binutils
Le dépôt inclut un shell.nix épinglé et un .envrc.
Avec nix-shell :
nix-shell
Avec direnv :
direnv allow
Cela fournit la chaîne d'outils reproductible utilisée ici :
gcc 15.2.1
GNU ld / strip de llvmPackages_19.bintools
python3
make
Si vous utilisez Nix ou direnv, make utilisera automatiquement la chaîne d'outils du shell.
Vous pouvez aussi essayer l'exploit dans une VM rapide 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
Compilation plus petite reproductible :
gcc 15.2.1
GNU ld 2.46
GNU strip avec --strip-section-headers
La taille finale varie selon GCC, binutils et l'implémentation de strip.