PT-2026-94314 · Npm · Vm2
CVSS v4.0
8.7
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
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.
Exploit
Correção
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Vm2