PEdit-CoW e DirtyClone — vulnerabilidades no núcleo do Linux que permitem obter acesso root através da modificação do cache de páginas

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

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster