
Implementação em C de uma prova de conceito para CVE-2026-31431, uma vulnerabilidade de envenenamento de cache de páginas AF_ALG do kernel Linux que possibilita escalonamento local de privilégios e potencial escape de contêiner via poluição de arquivos SUID.
Poc em C para reprodução do CVE-2026-31431, utilizável quando o ambiente alvo não possui Python instalado.
Tipo de vulnerabilidade: envenenamento de cache de páginas no subsistema AF_ALG do kernel Linux, permitindo elevação local de privilégios e possível escape de contêiner por meio da contaminação do conteúdo de arquivos SUID.
Versões de kernel afetadas: Linux kernel 5.15 ~ 6.1.x (algumas versões inferiores ou superiores também podem ser afetadas, dependendo das opções de compilação relacionadas ao AF_ALG).
Condições de exploração:
O kernel foi compilado com CONFIG_CRYPTO_USER_API_AEAD e suporta algoritmos AEAD (como authenc(hmac(sha256),cbc(aes))), ou os módulos correspondentes já estão carregados.
O atacante possui uma conta local de baixo privilégio e pode executar código arbitrário (como enviar um ELF compilado estaticamente).
O sistema de arquivos alvo suporta a chamada de sistema splice.
Você pode enviar diretamente o arquivo copy_fail para a máquina alvo e executá-lo, ou optar por compilar o arquivo copy_fail.c por conta própria.
Recomenda-se compilação estática (para evitar dependência da versão do glibc): gcc -static -o copy_fail copy_fail.c
./copy_fail
Este código foi adaptado a partir do poc em Python fornecido oficialmente.
Este código destina-se exclusivamente a pesquisa de segurança, educação e testes autorizados legalmente. É estritamente proibido usá-lo para ataques ilegais. O usuário assume toda a responsabilidade legal por seu uso.