PT-2026-99448 · Npm · Vm2
CVSS v4.0
9.5
Crítica
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
Nome do Software Vulnerável e Versões Afetadas
vm2 versões anteriores a 3.12.2
Description
Existe uma falha de bypass de autorização no resolvedor de módulos externos do NodeVM. Quando um incorporador configura
require.external com um resolvedor personalizado e context: 'host', a função LegacyResolver.customResolve em lib/resolver-compat.js registra o diretório do módulo resolvido em this.externals usando uma expressão regular que carece de um separador de caminho ou limite de fim de string. Isso permite que código de convidado não confiável solicite um módulo permitido e, subsequentemente, solicite o caminho absoluto de um módulo irmão não permitido que compartilhe o mesmo prefixo resolvido. Como o irmão passa por isPathAllowedForModule, ele é carregado através do hostRequire, permitindo que seu código de nível superior seja executado no processo hospedeiro antes que as exportações sejam envolvidas com vm.readonly. Isso resulta em um escape de sandbox e execução de código arbitrário no contexto do hospedeiro.Recommendations
Atualize para a versão 3.12.2 ou posterior.
Exploit
Correção
Incorrect Authorization
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Vm2