Um pesquisador de segurança russo publicou detalhes sobre uma vulnerabilidade zero-day que afeta o VirtualBox. O VirtualBox sempre foi um dos softwares de virtualização mais populares no mercado. É grátis, de código aberto e disponível em todas as plataformas. Atualmente, é desenvolvido e mantido pela Oracle.
De acordo com um arquivo de texto carregado no GitHub, o pesquisador Sergey Zelenyuk descobriu uma cadeia de bugs que podem permitir que códigos maliciosos escapem da máquina virtual do VirtualBox (sistema operacional convidado) e executem o sistema operacional hospedeiro.
Uma vez fora da VM, um invasor alcançaria a camada de privilégio Ring 3 – uma camada para executar código da maioria dos programas do usuário com o mínimo de privilégios.
Ele afirma também que a vulnerabilidade afeta todas as versões atuais do VirtualBox, funciona independentemente do sistema operacional hospedeiro ou convidado que o usuário está executando, e é confiável contra a configuração padrão de VMs recém-criadas.
Como a vulnerabilidade funciona
Zelenyuk mostra detalhes de como o bug pode ser aproveitado em máquinas virtuais configuradas com o adaptador de rede “Intel PRO/1000 MT Desktop (82540EM)” no modo NAT. É a configuração padrão de todos sistemas convidados para acessar redes externas.
De acordo com o guia técnico feito por Zelenyuk, o adaptador de rede é vulnerável, permitindo que um atacante com privilégio root/admin escape para o host Ring 3. Então, usando técnicas existentes, o atacante pode escalar privilégios para Ring – via /dev/vboxdrv.
100% confiável
A exploração que Zelenyuk escreveu depende de duas condições. Embora não seja impossível, um invasor precisa encadear outra vulnerabilidade para conseguir um acesso maior de privilégios no sistema hospedeiro.
“A exploração é 100% confiável”, disse Zelenyuk. “Isso significa que ou funciona sempre ou nunca por causa de binários incompatíveis ou outras razões mais sutis que eu não contei.”
Veja o processo no vídeo abaixo:
O Zero-day não é considerado uma ameaça aos ambientes de hospedagem em nuvem, que também dependem muito de máquinas virtuais. A maioria dos serviços de computação em nuvem usa um hypervisor Type-1 (nativo) – que é executado diretamente no hardware do servidor – para gerenciar máquinas virtuais. O VirtualBox é um hypervisor do tipo 2 pois executa uma VM dentro de um sistema operacional já em execução.
Outras falhas encontradas no VirtualBox
Em 2017, Zelenyuk descobriu outra falha no VirtualBox, problema semelhante a este, que a Oracle levou 18 meses para consertar.
Este processo demorado parece ter irritado Zelenyuk, que, em vez de denunciar esse bug à Oracle, decidiu publicar os detalhes on-line sem notificar a empresa.