Foram reveladas informações sobre duas novas vulnerabilidades no núcleo do Linux que permitem a um usuário não privilegiado obter direitos de root, gravando dados no cache de página. Exploits funcionais foram preparados para ambas as vulnerabilidades.
- PEdit-CoW (CVE-2026-46331, exploit 1, exploit 2) — um erro na aplicação do mecanismo copy-on-write no código de modificação de cabeçalhos de pacotes (act_pedit), utilizado no escalonador de pacotes de rede (net/sched), permite escrever dados além do buffer alocado, o que pode ser usado para sobrescrever dados no cache de página a um deslocamento escolhido. O erro ocorre porque a verificação da área válida para gravação de dados era realizada sem considerar que o deslocamento para os campos editáveis poderia mudar durante a execução da operação.
O problema se manifesta a partir do núcleo Linux 5.18 e foi corrigido nas versões 7.1, 7.0.13, 6.18.36 e 6.12.94. Foi indicada a possibilidade de exploração do problema no RHEL 8/9/10, Debian 11/12, openSUSE Leap 15.6, SUSE Linux 15-SP7/16.0 e Ubuntu 18.04-25.10 (na versão Ubuntu 26.4 a criação de user namespace está bloqueada por padrão). Como uma solução alternativa de proteção, recomenda-se bloquear o carregamento do módulo do núcleo act_pedit (as regras de limitação de tráfego e de modificação de cabeçalhos via "tc pedit" deixarão de funcionar).
echo "blacklist act_pedit" > /etc/modprobe.d/blacklist-act-pedit.conf
rmmod act_pedit - DirtyClone (CVE-2026-43503, exploit) — uma forma de explorar a vulnerabilidade Dirty Frag no módulo xfrm-ESP, utilizado para acelerar operações de criptografia em IPsec com o uso do protocolo ESP (Encapsulating Security Payload). Para clonar a estrutura skb no novo exploit, utiliza-se uma manipulação da extensão TEE no netfilter (módulo xt_TEE), que realiza a operação de clonagem de pacotes de rede.
A vulnerabilidade foi corrigida nas versões do núcleo Linux 7.1, 7.0.10, 5.10.257, 5.15.208, 6.1.174, 6.6.141, 6.12.91 e 6.18.33. O problema se manifesta no Debian, Ubuntu, Fedora,
RHEL e SUSE. Como uma solução alternativa para bloquear a vulnerabilidade, é possível proibir o carregamento dos módulos do núcleo esp4 e esp6.
Para a exploração de ambas as vulnerabilidades, são necessários direitos de acesso CAP_NET_ADMIN, que um usuário não privilegiado pode obter através da criação de namespaces de identificador de usuário (user namespace). No Ubuntu, tal operação é desabilitada por padrão, mas pode ser permitida através do sysctl "kernel.apparmor_restrict_unprivileged_userns=0" ou perfis do AppArmor. Em outras distribuições, a disponibilidade de "user namespace" para usuários não privilegiados depende da configuração do sysctl "kernel.unprivileged_userns_clone" (se for 0, está proibido).
A exploração das vulnerabilidades envolve a leitura do arquivo do programa /bin/su com a flag suid root, para que ele seja armazenado no cache de páginas, e a substituição no cache de páginas de parte do código do programa pelo código para executar /bin/sh. A execução subsequente do programa resultará no carregamento de uma cópia modificada do arquivo executável da cache de páginas, em vez do arquivo original do armazenamento.
Adicionalmente, pode-se destacar a criação de um exploit para a vulnerabilidade CVE-2026-23111 no subsistema nf_tables, corrigida nas atualizações de fevereiro do núcleo Linux. A vulnerabilidade é causada pelo acesso à memória após sua liberação (use-after-free) e permite que um usuário não privilegiado obtenha direitos de root no sistema. Para realizar o ataque, o usuário também deve ter a capacidade de criar namespaces de identificador de usuário (user namespace). O funcionamento do exploit foi demonstrado em
Debian 12/13 e Ubuntu 22.04/24.04.
Fonte: opennet.ru
