Voltar
Detectando e mitigando a falha ZDI-CAN-33367 e outras cinco vulnerabilidades no Linux

Exploit root para falha ZDI-CAN-33367 do kernel Linux é público antes de CVE e correção

Aprofundamento CEVIU

Aprofundamento

O bug ZDI-CAN-33367 é uma brecha na correção do Dirty Frag (CVE-2026-43284). Aquele fix marcou páginas compartilhadas com uma flag e ensinou o ESP a copiar antes de descriptografar. Só que skb_zerocopy() move as mesmas páginas para um novo socket buffer e não leva a flag junto. O ESP não vê a marcação, descriptografa no lugar e a escrita cai no page cache. Segundo TuxCare e Safeguard, esse caminho de código existe desde o kernel 3.14.

O PoC público exige user namespaces sem privilégio e módulos como nlmon, nft_queue, nfnetlink_queue, cls_u32, act_pedit, act_mirred e esp4. Não precisa de leak de KASLR. A TuxCare obteve shell root em AlmaLinux 8 a 10, CloudLinux 9 e 10, Debian 12 e 13 e Ubuntu 24.04 e 26.04. No AlmaLinux, o root veio mesmo com o fix do Dirty Frag instalado. Kernels CentOS 6 e 7 não são vulneráveis. É escalonamento local, então o atacante precisa antes de execução de código no host. Um patch pequeno ('net: skbuff: propagate shared-frag marker in skb_zerocopy()') foi revisado por Eric Dumazet e marcado para stable, mas não foi incorporado. Atenção: quem tem só o fix do CVE-2026-90049, outro bug na mesma função, continua exposto.

Na operação, a Sysdig aponta que a cadeia de syscalls é distintiva (unshare, sysctls, nlmon, XFRM, NFQUEUE, tc pedit, splice() para 127.0.0.1) e fácil de detectar em runtime. Como mitigação: restringir user namespaces (user.max_user_namespaces=0, ou kernel.unprivileged_userns_clone=0 no Debian), bloquear nlmon e act_pedit e aplicar seccomp RuntimeDefault em pods Kubernetes, que rodam Unconfined por padrão. A TuxCare ainda não validou o efeito da restrição de namespaces contra o PoC. Os outros cinco bugs têm exposição mais estreita: dois em ksmbd (não vale para Samba), um só em guests VMware (vmwgfx), um vazamento no nvmet e um bug de userspace no ConnMan.

O que mudou

Em 13 de maio de 2026, o CEVIU noticiou "Linux sofre segunda vulnerabilidade grave em duas semanas", sobre o Dirty Frag (CVE-2026-43284 e CVE-2026-43500), com corrupção do page cache pelos caminhos esp4/esp6 e rxrpc. Em 1 de julho de 2026, "DirtyClone: quarta vulnerabilidade no kernel Linux em seis semanas permite escalação de privilégios para root" tratou do CVE-2026-43503 como a quarta falha da família DirtyFrag. Agora o ZDI-CAN-33367 reabre a mesma classe de bug: a proteção do Dirty Frag perde a flag em mais um caminho. A diferença é o timing, já que o exploit root público veio antes de CVE e de correção incorporada.

Por que isso importa

Para quem opera frota Linux, a leitura é que patch de uma variante não encerra a família. Vale tratar user namespaces e seccomp como controles permanentes, e não só reação a CVE. Sem CVE ID, scanners de vulnerabilidade não vão acusar nada, então o inventário (ksmbd, VMware, user namespaces) e a detecção em runtime pesam mais nesta semana.

Linha do tempo

  1. CEVIU noticia o Dirty Frag (CVE-2026-43284 e CVE-2026-43500) no kernel Linux.

  2. CEVIU noticia o DirtyClone (CVE-2026-43503), quarta falha da família DirtyFrag.

  3. Exploit root do ZDI-CAN-33367 vem a público sem CVE e sem correção incorporada.

Perguntas frequentes

O que é o ZDI-CAN-33367?

É uma falha do kernel Linux que contorna a correção do Dirty Frag. A função skb_zerocopy() não propaga a flag de páginas compartilhadas, e o ESP descriptografa sobre o page cache. O resultado é escalonamento local de privilégios até root.

Já existe CVE ou patch para essa falha?

Ainda não há CVE para nenhum dos seis bugs divulgados. Existe um patch revisado por Eric Dumazet e marcado para stable, mas não incorporado. Não há relato de exploração ativa até a publicação da fonte.

Como mitigar enquanto a correção não chega?

Restrinja user namespaces sem privilégio nos hosts que não precisam deles, bloqueie os módulos nlmon e act_pedit e use seccomp RuntimeDefault nos pods Kubernetes. A TuxCare avisa que ainda não validou essas medidas contra o PoC e que podem não fechar todos os caminhos.

Quem usa Samba está exposto aos bugs de ksmbd?

Não. Samba (smbd) não é ksmbd, o servidor SMB dentro do kernel. Os dois relatos com CVSS 9.0 só importam onde o módulo ksmbd está carregado.

Fontes

Avalie este artigo:
Categoria
CEVIU DevOps
Publicado
26 de outubro de 2026
Editoria
CEVIU DevOps

Quer receber mais sobre CEVIU DevOps?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser