CiberSegurançaNews
Tendência

Falha crítica no vm2 permite escapar do sandbox e executar código em servidores Node.js

Vulnerabilidade CVE-2026-26956 afeta ambientes com Node.js 25 e pode permitir execução remota de comandos no sistema host

Uma vulnerabilidade crítica identificada na biblioteca open source vm2 está colocando em risco aplicações que executam código JavaScript não confiável em ambientes isolados. A falha, registrada como CVE-2026-26956, permite que invasores escapem do sandbox da biblioteca e executem comandos arbitrários diretamente no sistema operacional hospedeiro.

O problema foi confirmado na versão 3.10.4 do vm2, embora pesquisadores alertem que versões anteriores também possam ser afetadas. Segundo o aviso de segurança divulgado pelo mantenedor do projeto, a vulnerabilidade impacta ambientes que utilizam Node.js 25, incluindo a versão 25.6.1, quando estão habilitados os recursos WebAssembly exception handling e JSTag support.

A biblioteca vm2 é amplamente utilizada no ecossistema Node.js para executar scripts enviados por usuários dentro de ambientes restritos. Esse modelo é comum em plataformas de programação online, aplicações SaaS, sistemas de automação, mecanismos de plugins e serviços que permitem execução dinâmica de código JavaScript.

O objetivo do vm2 é impedir que scripts não confiáveis acessem recursos sensíveis do Node.js, como o objeto process, APIs internas e o sistema de arquivos. Na prática, a biblioteca atua como uma camada de isolamento entre o código executado no sandbox e o ambiente real do servidor.

Com mais de 1,3 milhão de downloads semanais no npm, o impacto potencial da falha é significativo, principalmente para empresas que expõem recursos de execução de código via internet.

Segundo os detalhes técnicos divulgados, a vulnerabilidade está relacionada ao tratamento incorreto de exceções que atravessam a fronteira entre o sandbox e o ambiente host. O vm2 normalmente utiliza proteções implementadas em JavaScript e mecanismos conhecidos como bridge Proxies para encapsular objetos compartilhados entre diferentes contextos de execução.

O problema ocorre porque o recurso WebAssembly exception handling consegue interceptar exceções em um nível mais baixo dentro do motor V8 — utilizado tanto pelo Node.js quanto pelo Google Chrome — permitindo que determinados erros ignorem as proteções implementadas pela biblioteca.

A exploração demonstrada no aviso envolve a criação de um TypeError manipulado durante a conversão de Symbol para string. Isso faz com que um objeto de erro originado no ambiente host seja retornado ao sandbox sem passar pelos mecanismos esperados de sanitização.

Uma vez que o objeto pertence ao contexto do host, o invasor consegue abusar da cadeia de construtores do JavaScript para recuperar acesso a componentes internos do Node.js, incluindo o objeto process. A partir desse ponto, torna-se possível executar comandos arbitrários no sistema operacional do servidor.

O mantenedor do vm2 publicou uma prova de conceito funcional demonstrando a exploração da falha. A divulgação pública do PoC aumenta o risco de exploração em ataques reais, já que reduz significativamente a barreira técnica para criminosos adaptarem a vulnerabilidade em campanhas automatizadas.

A recomendação oficial é atualizar imediatamente o vm2 para a versão 3.10.5 ou superior. Segundo o projeto, a versão mais recente disponível atualmente é a 3.11.2.

Organizações que utilizam Node.js 25 com execução dinâmica de scripts devem revisar urgentemente seus ambientes, especialmente aplicações que permitam upload ou execução de código enviado por usuários.

A nova vulnerabilidade também reforça um histórico recente de falhas graves envolvendo escape de sandbox no vm2. No início de 2026, a biblioteca já havia sido impactada pela CVE-2026-22709, também relacionada à execução arbitrária de código no host.

Outras falhas anteriores incluem as CVEs CVE-2023-30547, CVE-2023-29017 e CVE-2022-36067, evidenciando os desafios técnicos de implementar isolamento seguro de código JavaScript em ambientes compartilhados.

Especialistas alertam que o risco é particularmente elevado em plataformas SaaS, ambientes de automação, ferramentas educacionais, sistemas de plugins e aplicações que dependem da execução controlada de código de terceiros.

Além da atualização imediata da biblioteca, equipes de segurança devem adotar camadas adicionais de proteção, como restrição de permissões do processo Node.js, isolamento via containers, monitoramento de comportamentos suspeitos e auditoria de dependências que utilizem vm2 direta ou indiretamente.

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo