
Mais portátil POC do copyfail LPE (CVE-2026-31431) que funciona no Alpine Linux
Esta é uma porta mais minimalista do Copy Fail LPE (CVE-2026-31431) que modifica os primeiros bytes do /etc/passwd para que o su para root não exija senha. Isso reduz o tamanho total do exploit original e o torna mais portátil. Distribuições como Alpine usam busybox/musl em vez de um binário su independente e linkage glibc, então o método original de modificação de binário geralmente não funciona. Eu especificamente queria fazer uma porta que funcione no Alpine, mas este método deve funcionar em praticamente qualquer distro com um kernel vulnerável, independentemente do formato subjacente do coreutil e da arquitetura da CPU, pois depende da modificação de um alvo mais ubíquo. (nota: este PoC não é uma fuga de contêiner)
Use a implementação em Go para um binário portátil independente:
go build -o exp main.go
./exp

Ou simplesmente execute o script python como um usuário não privilegiado usando python3 exp.py e aproveite seu shell root.

Testado no Alpine Linux 3.20.5 executando kernel 6.6.69.
O blob comprimido contém a string de bytes root::0:0: que remove o 'x' da entrada original para root (root:x:0:0:root:/root:/bin/sh), ignorando a verificação de senha em /etc/shadow quando o su é chamado.
Referências: