
Exploit local de escalonamento de privilégios somente com dados para o kernel Linux io_uring CVE-2024-0582, usando estruturas de arquivo pulverizadas e ganchos ext4_file_operations para criar um usuário backdoor.
Um ataque apenas de dados baseado no CVE-2024-0582
O exploit segue a estratégia deste post no blog, exceto que eu não usei um processo filho para abrir arquivos.
Encontrei alguns exploits no GitHub que seguem a estratégia deste artigo.
Depois que eu reproduzi o exploit com sequestro de fluxo de controle baseado em soquete, tentei implementar o exploit com um ataque apenas de dados, que parece ainda não ter sido disponibilizado como código aberto.
Alimentei os dois artigos acima e https://github.com/ysanatomic/io_uring_LPE-CVE-2024-0582/blob/main/exploit.c no Claude e disse:
Você poderia modificar o código para se adequar ao ataque apenas de dados? Isso significa abrir arquivo em vez de soquete, usar ext4_file_operations em vez de egg, deletar o sequestro de fluxo de controle e modificar a permissão do arquivo.
Isso gerou um código com um processo filho. Mas acho difícil depurar se eu usar um processo filho. Então eu disse:
Por que não abrir o arquivo no próprio processo, sem usar um filho?
Então ele gerou quase o código existente.
Então eu:
ext4_fops_offset.gcc exploit.c -o exploit -luring
./exploit
sudo cat /etc/passwd # If you can use sudo