Pesquisadores de cibersegurança divulgaram detalhes de uma falha de escalada local de privilégios no Linux, conhecida como LPE, que pode permitir a um usuário local sem privilégios obter acesso root.
A vulnerabilidade, classificada como de alta severidade, é rastreada como
CVE-2026-31431
e tem pontuação CVSS 7,8.
Ela recebeu o nome de Copy Fail, dado pela Xint.io e pela Theori.
“Um usuário local sem privilégios pode gravar quatro bytes controlados no page cache de qualquer arquivo legível em um sistema Linux e usar isso para obter root”, afirmou a equipe de pesquisa de vulnerabilidades da Xint.io e da Theori.
Na origem do problema está uma falha lógica no subsistema criptográfico do kernel Linux, mais especificamente no módulo algif_aead.
O erro foi introduzido em um commit de código-fonte feito em agosto de 2017.
Se explorada com sucesso, a falha pode permitir que um simples script Python de 732 bytes altere um binário setuid e obtenha root em praticamente todas as distribuições Linux lançadas desde 2017, incluindo Amazon Linux, RHEL, SUSE e Ubuntu.
O exploit em Python segue quatro etapas:
Abrir um socket AF_ALG e vinculá-lo a authencesn(hmac(sha256),cbc(aes))
Construir o payload de shellcode
Acionar a operação de escrita na cópia em cache de "/usr/bin/su" mantida pelo kernel
Chamar execve("/usr/bin/su") para carregar o shellcode injetado e executá-lo como root
Embora a vulnerabilidade não possa ser explorada remotamente de forma isolada, um usuário local sem privilégios pode obter root simplesmente corrompendo o page cache de um binário setuid.
O mesmo mecanismo também afeta múltiplos containers, já que o page cache é compartilhado entre todos os processos do sistema.
Após a divulgação, distribuições Linux publicaram seus próprios alertas de segurança, entre elas:
Amazon Linux
Debian
Red Hat Enterprise Linux
SUSE
Ubuntu
A Copy Fail lembra o Dirty Pipe, identificado como
CVE-2022-0847
, outra vulnerabilidade de LPE no kernel Linux que permitia a usuários sem privilégios inserir dados no page cache de arquivos somente leitura e, em seguida, sobrescrever arquivos sensíveis do sistema para obter execução de código.
“A Copy Fail é a mesma classe de primitive, mas em um subsistema diferente”, disse David Brumley, da Bugcrowd.
“A otimização in-place de 2017 no algif_aead permite que uma página do page cache acabe na scatterlist de destino gravável do kernel em uma operação AEAD enviada por um socket AF_ALG.
Um processo sem privilégios pode então usar splice() nesse socket e concluir uma pequena gravação direcionada no page cache de um arquivo que não lhe pertence.”
O que torna a falha perigosa é o fato de ela poder ser acionada de forma confiável, sem depender de condição de corrida nem de offset do kernel.
Além disso, o mesmo exploit funciona em diferentes distribuições.
“Essa vulnerabilidade é única porque reúne quatro características que quase nunca aparecem juntas: ela é portátil, pequena, furtiva e afeta containers”, disse um porta-voz da Xint.io.
“Ela permite que qualquer conta de usuário, mesmo com poucos privilégios, eleve seu nível de acesso até administrador total.
Também permite contornar o isolamento de sandbox e funciona em todas as versões e distribuições Linux.”
Publicidade
Conheça a Solyd One, e tenha acesso a todos os cursos de segurança ofensiva da Solyd, todas as certificações práticas, incluindo a SYCP, 2 CTFs anuais com prêmios de até 30 mil reais, dezenas de laboratórios realísticos, suporte, comunidade e muito mais. Saiba mais...