PT-2026-30274 · Sandboxjs · Sandboxjs

Chawdamrunal

·

Publicado

2026-04-03

·

Atualizado

2026-04-06

·

CVE-2026-34217

CVSS v3.1

7.2

Alta

VetorAV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Nome do Software Vulnerável e Versões Afetadas SandboxJS versões anteriores a 0.8.36
Descrição Uma vulnerabilidade de modificação de escopo existe no SandboxJS, especificamente nas versões 0.8.35 e anteriores. Código sandboxed não confiável pode vazar objetos internos do interpretador através do operador new, expondo objetos de escopo do sandbox a código não confiável. Embora a avaliação de código e os protótipos permaneçam protegidos, isso permite a modificação de escopos dentro do sandbox. A causa raiz são etapas de sanitização ausentes no manipulador do operador New dentro do arquivo src/executor.ts (linhas 1275–1280). Especificamente, os argumentos do construtor não são higienizados usando valueOrProp(), e o valor de retorno não é higienizado usando getGlobalProp() ou sanitizeArray(). Isso contrasta com o manipulador Call, que higieniza corretamente tanto os argumentos quanto os valores de retorno. A vulnerabilidade permite que um invasor acesse objetos JavaScript host reais, como globalThis, Function e eval, através de um objeto Prop e, em seguida, armazene uma referência ao escopo do sandbox dentro de um objeto construído. Uma prova de conceito demonstra a capacidade de vazar o objeto de escopo criando um construtor que captura o contexto do objeto isNaN. O ataque não requer autenticação ou interação do usuário e funciona com a configuração padrão do sandbox.
Recomendações Atualize para a versão 0.8.36 ou posterior do SandboxJS para resolver a vulnerabilidade. Como uma correção crítica, higienize os argumentos do construtor no manipulador do operador New adicionando valueOrProp() ao array de argumentos. Implemente a higienização profunda dos valores de retorno do sandbox para remover referências internas. Congele ou sele os objetos options.globals e scope.allVars após a construção para evitar mutação.

Exploit

Correção

Exposure of Resource to Wrong Sphere

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-34217
GHSA-HG73-4W7G-Q96W

Produtos afetados

Sandboxjs