Uma vulnerabilidade crítica na biblioteca sandbox vm2 para Node.js, identificada como
CVE-2026-22709
, permite escapar do ambiente isolado e executar código arbitrário no sistema host.
A biblioteca open source vm2 cria um contexto seguro para a execução de códigos JavaScript não confiáveis, restringindo o acesso ao sistema de arquivos.
Ela é amplamente adotada em plataformas SaaS que suportam scripts dos usuários, code runners online, chatbots e projetos open source, com mais de 200 mil repositórios no GitHub utilizando-a.
Apesar da popularidade, o projeto foi descontinuado em 2023 devido a diversas falhas que permitiam escapar da sandbox, sendo considerada insegura para a execução de código não confiável.
No entanto, em outubro do mesmo ano, o mantenedor Patrik Šimek decidiu retomar o projeto e lançou a versão 3.10.0, corrigindo todas as vulnerabilidades conhecidas até então e mantendo compatibilidade retroativa até o Node.js 6.
A vm2 continua entre as bibliotecas mais baixadas no npm, alcançando cerca de um milhão de downloads semanais ao longo do último ano.
O problema atual está relacionado à falha da vm2 em isolar corretamente as chamadas de Promises, que gerenciam operações assíncronas.
Enquanto a biblioteca faz a sanitização dos callbacks em sua própria implementação interna de Promise, funções async retornam Promises globais cujos callbacks .then() e .catch() não são devidamente protegidos.
Segundo o mantenedor, na versão 3.10.0 “a sanitização dos callbacks Promise.prototype.then e Promise.prototype.catch pode ser contornada,” o que “permite que invasores escapem da sandbox e executem código arbitrário.”
A falha
CVE-2026-22709
foi parcialmente corrigida na versão 3.10.1, com uma correção mais rigorosa aplicada na 3.10.2 para evitar possíveis bypasses.
O desenvolvedor também divulgou um código demonstrando como explorar a vulnerabilidade para escapar da sandbox e executar comandos no sistema hospedeiro.
Devido à facilidade de exploração dessa falha nas versões vulneráveis da vm2, a atualização para a versão mais recente é altamente recomendada.
Anteriormente, outras falhas críticas de sandbox escape foram reportadas, como a
CVE-2022-36067
, descoberta pela Oxeye, que permitia executar comandos no host ao escapar da sandbox.
Em abril de 2023, outra vulnerabilidade semelhante,
CVE-2023-29017
, teve seu exploit publicado, seguida pelo
CVE-2023-30547
, também explorada para sandbox escape.
Patrik Šimek informou que “todas as vulnerabilidades divulgadas foram devidamente corrigidas” na versão 3.10.3, atualmente a mais recente do projeto.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...