PT-2026-31348 · Liquidjs · Liquidjs
CVE-2026-34166
·
Publicado
2026-04-08
·
Atualizado
2026-04-09
CVSS v3.1
5.3
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Nome do Software Vulnerável e Versões Afetadas: LiquidJS versões anteriores a 10.25.3
Descrição: LiquidJS é um mecanismo de template. Uma falha existe no filtro 'replace' quando a opção 'memoryLimit' está habilitada. O cálculo do uso de memória não contabiliza corretamente o tamanho da string de saída, permitindo potencialmente que um invasor ignore a proteção DoS de limite de memória com uma amplificação de aproximadamente 2.500x. Isso pode levar a condições de falta de memória. A vulnerabilidade está relacionada ao filtro
replace em src/filters/string.ts:137-142. O problema surge porque a função memoryLimit.use() considera apenas os comprimentos das entradas, enquanto a operação str.split(pattern).join(replacement) pode produzir uma saída significativamente maior. A classe Limiter em src/util/limiter.ts:3-22 verifica apenas o uso de memória no momento da chamada da função use() e não valida a alocação real de memória. Isso afeta as implementações que habilitam explicitamente o limite de memória para proteger contra entradas de template não confiáveis. Um invasor controlando o conteúdo do template pode explorar isso para causar falhas no processo Node.js, negação de serviço para outros usuários ou esgotamento de recursos.Recomendações: Atualize para a versão 10.25.3 ou posterior do LiquidJS. Como medida temporária, evite usar o filtro 'replace' com conteúdo de template não confiável quando a opção 'memoryLimit' estiver habilitada.
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
Liquidjs