
Un POC plus portable de l'exploit LPE copyfail (CVE-2026-31431) fonctionnant sur Alpine Linux
Il s'agit d'un port plus minimal de Copy Fail LPE (CVE-2026-31431) qui patch les premiers octets de /etc/passwd afin que su vers root ne nécessite aucun mot de passe. Cela réduit la taille totale de l'exploit original et le rend plus portable. Les distributions comme Alpine utilisent busybox/musl à la place d'un binaire su autonome et d'une liaison glibc, donc la méthode originale de patching binaire ne fonctionne généralement pas. Je voulais spécifiquement créer un port fonctionnant sur Alpine, mais cette méthode devrait fonctionner sur pratiquement n'importe quelle distribution avec un noyau vulnérable, indépendamment du format coreutil sous-jacent et de l'architecture CPU, car elle repose sur la modification d'une cible plus omniprésente. (notez que ce poc n'est pas une évasion de conteneur)
Utilisez l'implémentation Go pour un binaire portable autonome :
go build -o exp main.go
./exp

Ou exécutez simplement le script Python en tant qu'utilisateur non privilégié avec python3 exp.py et profitez de votre shell root.

Testé sur Alpine Linux 3.20.5 avec le noyau 6.6.69.
Le blob compressé contient la chaîne d'octets root::0:0: qui remplace le 'x' de l'entrée originale pour root (root:x:0:0:root:/root:/bin/sh), contournant ainsi la vérification du mot de passe dans /etc/shadow lorsque su est appelé.
Références :