Vulnerabilidades Críticas Expoem a Biblioteca vm2 do Node.js a Ataques de Fuga de Sandbox
Uma série de vulnerabilidades críticas foram descobertas na biblioteca **vm2** do Node.js, permitindo potencialmente que atacantes escapem do sandbox e executem código arbitrário. Essas falhas destacam os desafios inerentes em isolar com segurança código JavaScript não confiável.

**vm2** é uma biblioteca open-source projetada para executar código JavaScript não confiável dentro de um ambiente de sandbox seguro. Ela alcança isso interceptando e proxying objetos JavaScript, visando impedir que o código em sandbox acesse o sistema host.
## Detalhes das Vulnerabilidades
Doze vulnerabilidades de segurança críticas foram divulgadas. Todas essas vulnerabilidades poderiam ser exploradas por atores maliciosos para obter acesso não autorizado e controle sobre o sistema subjacente.
Aqui está um resumo das falhas identificadas:
* **CVE-2026-24118** (pontuação CVSS: 9.8): Fuga de sandbox via `__lookupGetter__` permite execução de código arbitrário no host. Afeta versões <= 3.10.4, corrigida na 3.11.0.
* **CVE-2026-24120** (pontuação CVSS: 9.8): Um bypass para CVE-2023-37466, permitindo a fuga de sandbox através da propriedade `species` de objetos `promise`. Afeta versões <= 3.10.3, corrigida na 3.10.5.
* **CVE-2026-24781** (pontuação CVSS: 9.8): Fuga de sandbox via a função "inspect" levando à execução de código arbitrário. Afeta versões <= 3.10.3, corrigida na 3.11.0.
* **CVE-2026-26332** (pontuação CVSS: 9.8): Fuga de sandbox via "SuppressedError" permite execução de código arbitrário. Afeta versões <= 3.10.4, corrigida na 3.11.0.
* **CVE-2026-26956** (pontuação CVSS: 9.8): Falha no mecanismo de proteção levando à fuga de sandbox com execução de código arbitrário ao acionar um `TypeError` produzido pela coerção de `Symbol` para `string`. Afeta a versão 3.10.4, corrigida na 3.10.5.
* **CVE-2026-43997** (pontuação CVSS: 10.0): Injeção de código permite obter o Objeto host e escapar do sandbox, levando à execução de código arbitrário. Afeta versões <= 3.10.5, corrigida na 3.11.0.
* **CVE-2026-43999** (pontuação CVSS: 9.9): Bypass da lista de permissões integrada do NodeVM permite carregar builtins excluídos como `child_process` e alcançar execução remota de código. Afeta a versão 3.10.5, corrigida na 3.11.0.
* **CVE-2026-44005** (pontuação CVSS: 10.0): Permite que JavaScript controlado pelo atacante escape do sandbox e habilite poluição de protótipo. Afeta versões 3.9.6-3.10.5, corrigida na 3.11.0.
* **CVE-2026-44006** (pontuação CVSS: 10.0): Injeção de código via "BaseHandler.getPrototypeOf" permite fuga de sandbox e execução remota de código. Afeta versões <= 3.10.5, corrigida na 3.11.0.
* **CVE-2026-44007** (pontuação CVSS: 9.1): Controle de acesso inadequado permite fuga de sandbox e execução de comandos arbitrários do sistema operacional. Afeta versões <= 3.11.0, corrigida na 3.11.1.
* **CVE-2026-44008** (pontuação CVSS: 9.8): Fuga de sandbox via "neutralizeArraySpeciesBatch()" permite execução de comando arbitrário. Afeta versões <= 3.11.1, corrigida na 3.11.2.
* **CVE-2026-44009** (pontuação CVSS: 9.8): Fuga de sandbox via uma exceção de `null proto` permite execução de comando arbitrário. Afeta versões <= 3.11.1, corrigida na 3.11.2.
## Remediação
Essas divulgações seguem a correção da **CVE-2026-22709** em janeiro, outra vulnerabilidade crítica de fuga de sandbox. **Patrik Simek**, o mantenedor do **vm2**, reconheceu os desafios contínuos em manter um sandbox JavaScript seguro e antecipa a descoberta de mais bypasses.
Usuários do **vm2** são fortemente aconselhados a atualizar para a versão mais recente (3.11.2) para mitigar esses riscos críticos.