CVE-2026-4800
lodash vulnerável a Injeção de Código via nomes de chave de imports em _.template
- Publicado
- 31 de mar. de 2026
- Atualizado
- 15 de out. de 2026
- Atribuindo CNA
- openjs
- Evidência observada
- 25 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 85,3%
- Data do modelo
- 23 de out. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
A correção para CVE-2021-23337 adicionou validação para a opção variable em _.template, mas não aplicou a mesma validação aos nomes de chave de options.imports, e ambos os caminhos fluem para o mesmo sink do construtor Function(). Quando uma aplicação passa entrada não confiável como nomes de chave de options.imports, um atacante pode injetar expressões de parâmetro padrão que executam código arbitrário no momento da compilação do template. Além disso, _.template usa assignInWith para mesclar imports, que enumera propriedades herdadas via for..in, portanto, se Object.prototype tiver sido poluído por outro vetor, as chaves poluídas são copiadas para o objeto imports e passadas para Function(). O problema foi corrigido na versão 4.18.1 para lodash, lodash-es, lodash-amd e lodash.template. Como solução alternativa, não passe entrada não confiável como nomes de chave em options.imports; use apenas nomes de chave estáticos controlados pelo desenvolvedor.
Fontes
Prova de conceito demonstrando execução remota de código no template do lodash por meio de poluição de protótipo, com análise detalhada do fluxo do ataque e da técnica de exploração.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.