Uma falha de corrupção de memória no datapath do Open vSwitch no kernel Linux abre caminho para que usuários locais comuns obtenham privilégios de root em uma ampla gama de distribuições com configuração padrão.
Um exploit público acompanha o caso e já traz registros pré-compilados para cerca de 800 versões de kernel.
A vulnerabilidade, identificada como
CVE-2026-64531
, com pontuação CVSS de 7,8, e batizada de OVSwrap por quem a descobriu, foi divulgada pelo pesquisador de segurança Asim Manizada em 28 de julho de 2026.
O problema está no datapath do kernel, e não no daemon ovs-vswitchd executado em espaço de usuário.
Em uma análise técnica, Manizada afirmou que o atacante não precisa de “nenhuma bridge OVS existente, nenhum ovs-vswitchd em execução, nenhum CAP_NET_ADMIN no nível do host”.
Em sistemas afetados, quando o datapath do kernel do OVS está disponível e os namespaces de usuário sem privilégios estão habilitados, um usuário comum pode criar namespaces privados de usuário e de rede com unshare -Urn, obter CAP_NET_ADMIN dentro desse namespace e alcançar o caminho vulnerável de instalação de fluxos.
Se o módulo openvswitch estiver instalado, mas não carregado, a resolução do nome da família Generic Netlink pode acioná-lo automaticamente.
Um resultado vazio de lsmod não significa que o sistema esteja seguro.
A correção upstream foi distribuída nas árvores estáveis em 24 de julho.
Quando ainda não houver kernel do fornecedor com patch, e o Open vSwitch não for necessário, a orientação é bloquear futuros carregamentos do módulo.
Se o módulo já estiver em memória, é preciso descarregá-lo ou reiniciar a máquina.
Manizada informou ter relatado o problema para [email protected] e para os mantenedores do OVS em 19 de junho.
As primeiras versões upstream corrigidas são Linux 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40 e 7.1.5.
As séries 6.13 a 6.17, 6.19 e 7.0, já fora de suporte, não receberão correções estáveis upstream.
Esses números upstream, porém, não bastam sozinhos.
Os kernels das distribuições carregam backports e alterações próprias, então o rastreador do fornecedor é a fonte mais confiável.
O Open vSwitch armazena ações de fluxo geradas como atributos Netlink, cujo campo nla_len tem 16 bits, limitando qualquer atributo aninhado a 65.535 bytes.
A atribuição insegura existia havia 13 anos, mas um limite de 32 KiB no volume total do fluxo de ações gerado mantinha a ação aninhada abaixo do ponto de estouro.
Uma mudança de março de 2025 removeu esse limite porque ele provocava falhas imprevisíveis, inclusive em grandes implantações OpenStack, e acabou expondo o bug antigo de truncamento.
A revisão do commit que habilitou a alteração discutiu confiabilidade e falhas visíveis ao usuário, mas não abordou a consequência de segurança da remoção da proteção.
O atacante envia uma ação CLONE carregada com centenas de subações conntrack.
No x86-64, o kernel expande cada uma para 164 bytes, empurrando a ação aninhada gerada para além de 65.535 bytes.
Quando o OVS grava o resultado no campo de comprimento de 16 bits, o valor sofre wraparound.
Em seguida, o código passa a confiar nesse comprimento e retoma a análise a partir de dados conntrack controlados pelo atacante, onde aguardam ações OVS forjadas.
Como o ponto de chegada é determinístico dentro do mesmo buffer contíguo, não é necessário fazer heap grooming.
Manizada descreveu o resultado como uma vulnerabilidade de corrupção de memória com “confiabilidade de nível de bug lógico”.
O exploit combina três primitivas derivadas do wraparound: vazamento de um ponteiro do kernel por meio de uma falsa ação OUTPUT, leitura arbitrária do kernel com uma falsa ação SET de túnel e uma redução direcionada pela desmontagem de um ponteiro tun_dst forjado.
Com isso, ele localiza as credenciais de um processo do host e, em kernels modernos, reduz fsuid e fsgid para zero.
A prova de conceito divulgada é explicitamente destrutiva.
Ela também exige suporte a OVS conntrack, o helper FTP de conntrack e a instalação do sudo.
Quando tem sucesso, ela corrompe uma credencial ativa do kernel, modifica /etc/sudoers.d ou /etc/sudoers, abre um shell de root e deixa processos e estado do OVS para evitar uma desmontagem insegura.
O repositório da PoC inclui registros para cerca de 800 versões exatas de kernel x86-64 e tenta derivar dinamicamente as informações a partir de símbolos ou BTF nos builds não cobertos.
A matriz de testes, não exaustiva, de Manizada encontrou exploração em configuração padrão nas versões testadas de AlmaLinux 9 e 10, Alpine 3.22 a 3.24, Amazon Linux 2023, Arch, CentOS Stream 9 e 10, Debian 12 e 13, Fedora 42 a 44, Gentoo, Kali 2026.1, Linux Mint 22.3, NixOS, openSUSE Tumbleweed, Pop!_OS, Rocky Linux 9 e 10 e Ubuntu 22.04.
Nos sistemas Ubuntu 24.04 testados, o AppArmor bloqueou a criação direta de namespaces, mas o fallback aa-exec -p trinity da PoC restaurou o acesso.
O Ubuntu 26.04 padrão bloqueou a rota para usuários comuns, mas a desativação da restrição de namespaces de usuário do AppArmor tornou os sistemas testados exploráveis.
Já Amazon Linux 2, Debian 11, Rocky Linux 8 e Ubuntu 20.04 testados mantiveram caminhos de código antigos e não puderam ser explorados por essa rota.
A recomendação é instalar um kernel do fornecedor com patch, sempre que disponível.
Quando o Open vSwitch não for necessário, a medida provisória mais rápida é bloquear o módulo com:
echo 'install openvswitch /bin/false' > /etc/modprobe.d/ovswrap.conf
Essa configuração impede novas tentativas de carregamento do módulo.
Se ele já estiver residente na memória, ainda será necessário removê-lo ou reiniciar o sistema.
Desativar namespaces de usuário sem privilégios fecha a rota do usuário local comum, mas não impede um contêiner ou outro processo que já tenha CAP_NET_ADMIN sobre um namespace de rede controlado pelo atacante.
Manizada descreveu a via de contêiner como teoricamente alcançável, mas não a demonstrou na PoC divulgada.
O repositório da PoC também inclui uma proteção emergencial via BPF para ambientes que precisam manter tanto o OVS quanto os namespaces ativos.
O risco é especialmente alto em ambientes com vários usuários ou workloads não confiáveis compartilhando o mesmo host.
Como observou a orientação da CloudLinux, o usuário local nesse cenário pode ser um atacante que já comprometeu um site por meio de uma falha não relacionada, e o OVSwrap é o que transforma esse problema de uma única conta em um comprometimento de todo o servidor.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Guardsi: qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...