Npm · Vm2 · CVE-2026-92942
**Nome do Software Vulnerável e Versões Afetadas**
vm2 versões anteriores a 3.11.7
**Descrição**
O software não aplica a opção `timeout` para códigos executados fora da função síncrona `run()`. Isso ocorre porque o tempo limite envolve apenas a chamada ` runScript()` via `doWithTimeout()` no arquivo `lib/vm.js`. Além disso, `FinalizationRegistry` e `WeakRef` são expostos ao código sandboxed sem modificações. Um invasor pode registrar um callback de limpeza do `FinalizationRegistry` e remover todas as referências fortes ao objeto. Embora a função `run()` possa retornar dentro do tempo limite, o coletor de lixo (garbage collector) do V8 invoca posteriormente o callback de limpeza fora da contabilização do timeout. Um loop infinito dentro desse callback pode bloquear o loop de eventos do host indefinidamente, resultando em negação de serviço. O momento da execução depende do comportamento do coletor de lixo, como pressão de memória ou o uso da flag `--expose-gc`.
**Recomendações**
Atualize para a versão 3.11.7 ou posterior.