GhostLock, BadEpoll e Januscape — vulnerabilidades no núcleo do Linux que permitem obter privilégios de root e contornar a isolamento KVM.

Foi revelada uma vulnerabilidade (CVE-2026-43499) no núcleo Linux, codinome GhostLock, que permite a usuários locais não privilegiados obterem privilégios de root no sistema, além de escapar de contêineres isolados. Quando usado em conjunto com outras vulnerabilidades em navegadores, o problema detectado pode ser utilizado para execução remota de código com privilégios de root ao abrir uma página web especialmente formatada. O problema se manifesta a partir do núcleo Linux 2.6.39 (2011).

Alega-se que a vulnerabilidade pode ser explorada em todas as distribuições lançadas nos últimos 15 anos. Existe um exploit funcional, cujos criadores receberam do Google um prêmio de $92.337 por conseguir uma elevação de privilégios em um ambiente com o KernelCTF (Capture the Flag), que inclui patches adicionais para bloquear métodos comuns de funcionamento de exploits. A taxa de sucesso do exploit é estimada em 97%. A vulnerabilidade foi identificada com a ajuda da ferramenta de IA VEGA.

O patch de correção foi aceito na base de código do núcleo em 21 de abril e foi incluído nas versões do núcleo 7.1.0, 6.18.36, 6.12.95, 6.6.144 e 6.1.177. O status da remoção das vulnerabilidades nas distribuições pode ser avaliado nas seguintes páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, AlmaLinux, Gentoo, Arch, Fedora. Não existem soluções alternativas para bloquear o problema.

A vulnerabilidade está presente na implementação de bloqueios futex e é causada pelo acesso à memória após a sua liberação, que ocorre durante o funcionamento do mecanismo de herança de prioridades, prevenindo a inversão de prioridades (bloqueio de uma tarefa de alta prioridade devido à espera pela liberação de um recurso ocupado por uma tarefa de baixa prioridade). Em situações nas quais a instalação do bloqueio falha, o núcleo retorna ao estado anterior e chama a função de limpeza. Sob certas circunstâncias, a função de limpeza pode ser chamada no momento errado, liberando a estrutura de dados de outra tarefa, resultando em um ponteiro pendente (dangling pointer) que se refere à memória já liberada.

A exploração de vulnerabilidades consiste em criar condições para o surgimento de um ponteiro pendente, utilizando apenas chamadas de sistema disponíveis para o usuário para trabalhar com threads, implementando um primitivo para gravação através do ponteiro pendente em uma área arbitrária da memória do kernel e aplicando este primitivo para substituir uma transição na tabela de funções do kernel para interceptar o fluxo de controle.

No exploit proposto, ocorre uma sobreescrita do ponteiro na tabela de funções inet6_protos[IPPROTO_UDP], após a qual um pacote UDP é enviado para a interface loopback via IPv6, momento em que é chamado o manipulador cujo ponteiro foi substituído na etapa anterior. Para obter acesso root, o código do exploit, ao assumir o controle, registra seu manipulador em /proc/sys/kernel/core_pattern, que é chamado com permissões de root em caso de falha de processos.

Além do problema mencionado, foram identificadas várias outras vulnerabilidades perigosas no kernel Linux:

  • Januscape (CVE-2026-53359) — acesso à memória após sua liberação (use-after-free) em componentes do hipervisor KVM, executados no lado da máquina virtual para emular a unidade de gerenciamento de memória (MMU) e traduzir endereços entre o host e o sistema convidado. A vulnerabilidade se manifesta em sistemas com processadores Intel e AMD e permite acesso root ao ambiente do host, se houver acesso com permissões de root no sistema convidado.

    Um protótipo de exploit que corrompe o conteúdo da estrutura de dados no lado do sistema host, utilizada na tradução de endereços, está disponível para download. O exploit publicado leva ao término anômalo do sistema host, mas, segundo o pesquisador que identificou o problema, ele também criou um exploit para execução de código no ambiente do host com privilégios de root, mas ainda não o publica para dar tempo para a instalação de atualizações.

    O problema foi causado por um erro cometido há 16 anos e foi corrigido nas atualizações 7.1.3, 6.18.38, 6.12.95, 6.6.144 e 6.1.177. O status de correção das vulnerabilidades em distribuições pode ser avaliado nas seguintes páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. O pesquisador recebeu uma recompensa de 250 mil dólares do Google por descobrir a vulnerabilidade como parte da iniciativa kvmCTF.

    Para sair do sistema convidado na servidores No processadores ARM64, o mesmo pesquisador identificou outra vulnerabilidade ITScape (CVE-2026-46316), causada por uma condição de corrida no código de emulação vGIC-ITS (Interrupt Translation Service) no KVM. Um protótipo de exploit também foi publicado para este problema.

  • Bad Epoll (CVE-2026-46242) — uma condição de corrida que leva a acessos à memória após sua liberação, na subsistema do núcleo epoll. A vulnerabilidade permite que um usuário local não privilegiado execute código com privilégios de root. O problema é notável porque possibilita ataques não apenas a distribuições clássicas do Linux, mas também a firmwares baseados na plataforma Android, e não é bloqueado pela sandboxing no Chrome. Um exploit funcional foi demonstrado na competição kernelCTF (o Google pagou ao autor $71337). A confiabilidade do exploit foi avaliada em 99%.

    O problema se manifesta a partir do núcleo Linux 6.4 (2023). Os desenvolvedores do núcleo foram informados sobre o problema em 17 de fevereiro, mas a correção só foi desenvolvida após várias tentativas malsucedidas, em 24 de abril. O problema foi corrigido nos núcleos 6.18.24, 6.12.83, 6.6.136. O status da correção de vulnerabilidades nas distribuições pode ser avaliado nas seguintes páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

  • CVE-2026-46215 — acesso à memória após sua liberação na implementação ioctl DRM_IOCTL_GEM_CHANGE_HANDLE na subsistema DRM (Direct Rendering Manager). Um usuário local com acesso a dispositivos /dev/dri/renderD* (o serviço systemd-logind fornece acesso a todos os usuários ao iniciar uma sessão gráfica em todas as principais distribuições) pode obter privilégios de root no sistema. Existe um exploit. O problema se manifesta a partir do núcleo 6.18 e foi corrigido nas atualizações 7.0.9 e 6.18.32. O status da correção de vulnerabilidades nas distribuições pode ser avaliado nas seguintes páginas: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

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