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
Outils/GitHubGitHub/emmmmllll/copy-fail-zig
Escalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésExploitationExploitation de Binaires
GitHubemmmmllll/copy-fail-zig

copy-fail-zig

Voir le dépôt
1il y a 3 moisPas encore vérifié

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 →

À propos

Implémentation en Zig de l'élévation de privilèges locale Linux Copy Fail (CVE-2026-31431) fournissant un binaire autonome pour exploiter la vulnérabilité à des fins de recherche en sécurité et de détection défensive, incluant l'injection de shellcode et des vérifications de vulnérabilité du système.

Partager

Implémentation Zig de Copy Fail (CVE-2026-31431)

Implémentation Zig de la preuve de concept de 732 octets pour l'élévation de privilèges locale Linux Copy Fail (CVE-2026-31431), divulguée par Theori / Xint le 29 avril 2026. L'article détaillé est disponible sur copy.fail.

Cette implémentation n'a aucune dépendance à l'exécution et peut être exécutée comme un binaire autonome.

Compilation

La compilation de l'exploit nécessite la version 0.16.0 ou supérieure de zig, qui peut être installée depuis ziglang.org. Pour compiler l'exploit, exécutez la commande suivante dans le terminal :

root@kitploit:~
zig build

Optionnellement, il peut être compilé de manière croisée pour une cible différente par ex.

root@kitploit:~
zig build -Dcpu=baseline -Dtarget=aarch64-linux-musl -Doptimize=ReleaseSmall

ou avec des charges utiles non compressées

root@kitploit:~
zig build -Dcompress=false

Utilisation

exécutez soit le binaire compilé, soit utilisez zig pour l'exécuter

root@kitploit:~
zig-out/bin/copyfail
OU
zig build run
root@kitploit:~
$ zig-out/bin/copyfail
Usage:
  run     <path> <data> [offset] [-- args...] - Write data to the executable at the given offset (default 0) and run it
  sudo    <suid_path>   [command...]          - Runs a command as root by writing shellcode to a suid binary. 
                                                (the first argument of command must be the full path to program to run)
  modify  <path> <data> [offset]              - Write data to the file at the given offset (default 0)
  reset   <path>                              - Reset the file to its original state
  help                                        - Show this message

L'exécutable peut être lancé avec différentes commandes :

run écrit d'abord les données fournies à l'offset donné (0 par défaut) dans l'exécutable au chemin fourni, puis l'exécute. Une fois l'exécution terminée, le fichier est réinitialisé à son état d'origine à l'aide de posix_fadvise.

Exemple :

root@kitploit:~
copyfail run /path/to/exe $(cat shellcode_bin) -- /bin/sh

sudo écrit le shellcode inclus dans un binaire suid et l'exécute pour lancer une commande en tant que root. Le code source du shellcode se trouve dans payloads/sudo.zig. Le premier argument de la commande doit être le chemin complet du programme, car le shellcode ne recherche pas le programme à exécuter. Une fois l'exécution terminée, le fichier est réinitialisé comme dans la commande run.

Exemple :

root@kitploit:~
$ copyfail sudo /usr/bin/su /usr/bin/whoami
root

modify écrit les données fournies à l'offset donné (0 par défaut) dans le fichier au chemin fourni, sans l'exécuter. Après la modification, le fichier n'est PAS réinitialisé. Utilisez la commande reset pour le réinitialiser.

Exemple :

root@kitploit:~
copyfail modify /path/to/file "My new content" 1337

reset réinitialise le fichier au chemin fourni à son état d'origine à l'aide de posix_fadvise. Cela supprime la page en cache et lira le contenu depuis le disque lors du prochain accès.

Exemple :

root@kitploit:~
copyfail reset /path/to/file

is_vulnerable vérifie si le système est vulnérable en créant un fichier temporaire, en y écrivant des données de test, puis en les relisant pour voir si les données ont été corrompues.

Exemple :

root@kitploit:~
$ copyfail is_vulnerable
warning: System is vulnerable
OU
info: System is not vulnerable

help affiche le message d'utilisation.

Noyaux concernés (d'après copy-fail-c)

root@kitploit:~
floor:    torvalds/linux 72548b093ee3   August 2017, v4.14
                                        (AF_ALG iov_iter rework that
                                         introduced the file-page write
                                         primitive via splice into the AEAD
                                         scatterlist)

ceiling:  torvalds/linux a664bf3d603d   April 2026, mainline
                                        (reverts the 2017 algif_aead
                                         in-place optimization; separates
                                         source and destination scatterlists
                                         so page-cache pages can no longer
                                         be a writable crypto destination)

Entre les deux : tous les noyaux des distributions majeures qui n'ont pas rétroporté le correctif. Ubuntu, RHEL, SUSE, Amazon Linux et Debian ont tous été confirmés vulnérables dans leurs noyaux d'images cloud standard au moment de la divulgation. Les rétroportages au niveau des distributions ont commencé à être déployés vers le 2026-04-29 en même temps que la divulgation publique. Pour vérifier si un noyau cible est dans la fenêtre, vérifiez si a664bf3d603d (ou son rétroportage spécifique à la distribution) est présent dans le journal git du noyau ou dans le journal des modifications de la distribution.

Licence et crédits

Découverte et divulgation originale de CVE-2026-31431 : Theori / Xint. Article public sur copy.fail.

Cette implémentation Zig : Emmmmllll [email protected]

Le compilateur zig et la bibliothèque standard : Zig Software Foundation sous conditions MIT https://codeberg.org/ziglang/zig.

L'exploit et la charge utile sont publiés à des fins de recherche en sécurité et de détection défensive. L'utilisation contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test relève de votre responsabilité, pas de celle de l'auteur.

Télécharger l’outil