Plataforma
nodejs
Componente
liquidjs
Corrigido em
10.25.4
10.25.3
CVE-2026-34166 describes a memory limit bypass vulnerability within LiquidJS, a JavaScript templating engine. An attacker can manipulate template content to exceed the configured memoryLimit, potentially leading to a denial-of-service (DoS) condition. This vulnerability affects versions prior to 10.25.3 and is addressed in version 10.25.3.
A vulnerabilidade CVE-2026-34166 no LiquidJS afeta o filtro replace quando a opção memoryLimit está habilitada. O filtro calcula incorretamente o uso de memória, superestimando a memória necessária para a operação de substituição. Isso permite que um atacante que controla o conteúdo do modelo ignore a proteção DoS memoryLimit com uma amplificação de aproximadamente 2.500 vezes. Um atacante pode injetar um modelo que contenha um padrão repetido na string de entrada, resultando em um consumo de memória significativamente maior do que o esperado, potencialmente causando uma negação de serviço. A vulnerabilidade reside na forma como o tamanho da string resultante é calculado após a substituição, sem levar em consideração o potencial crescimento exponencial devido a múltiplas correspondências do padrão.
Um atacante pode explorar esta vulnerabilidade injetando um modelo LiquidJS malicioso que contenha um padrão repetido em uma string de entrada. O filtro replace tentará substituir todas as instâncias deste padrão, resultando em um consumo de memória muito maior do que o esperado com base no cálculo incorreto. Isso pode esgotar os recursos do servidor e causar uma negação de serviço. A vulnerabilidade é particularmente grave em ambientes onde o conteúdo do modelo se origina de fontes não confiáveis, como entradas de usuários ou dados externos.
Applications and services utilizing LiquidJS versions prior to 10.25.3 are at risk. This includes Node.js applications that rely on LiquidJS for templating, particularly those handling user-supplied content or external data within templates. Shared hosting environments where multiple users can influence template content are also at increased risk.
• nodejs: Monitor LiquidJS process memory usage. Sudden spikes in memory consumption, especially during template rendering, could indicate exploitation.
ps aux | grep liquidjs | awk '{print $6}' | sort -n• nodejs: Check for unusual template content patterns. Look for extremely long patterns or replacement strings in template files or input data.
grep -r 'very_long_pattern_here' /path/to/templates• generic web: Examine web server access logs for requests containing unusually large template parameters. This may indicate an attempt to trigger the vulnerability.
disclosure
Status do Exploit
EPSS
0.05% (percentil 15%)
CISA SSVC
Vetor CVSS
A mitigação principal é atualizar para a versão 10.25.3 do LiquidJS ou posterior. Esta versão corrige o cálculo incorreto do uso de memória no filtro replace. Enquanto isso, se não for possível atualizar imediatamente, recomenda-se reduzir o valor de memoryLimit para limitar o impacto potencial da exploração. Também é importante validar e higienizar cuidadosamente qualquer conteúdo de modelo fornecido pelo usuário para evitar a injeção de padrões maliciosos. Monitorar o uso de memória do servidor é crucial para detectar possíveis ataques em andamento e tomar medidas corretivas.
Actualice a la versión 10.25.3 o superior para mitigar la vulnerabilidad. Esta actualización corrige un error en el filtro 'replace' que permitía eludir las restricciones de límite de memoria, lo que podía provocar condiciones de denegación de servicio (DoS) debido a un consumo excesivo de memoria.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
LiquidJS é um motor de modelos JavaScript inspirado no motor de modelos Liquid do Ruby on Rails.
A opção memoryLimit é projetada para proteger contra ataques de negação de serviço (DoS) limitando a quantidade de memória que um filtro LiquidJS pode usar.
Se você estiver usando uma versão do LiquidJS anterior à 10.25.3 e permitir que o conteúdo do modelo venha de fontes não confiáveis, provavelmente estará afetado.
Reduza o valor de memoryLimit e valide e higienize cuidadosamente o conteúdo do modelo.
Atualmente, não existem ferramentas específicas para detectar esta vulnerabilidade, mas o monitoramento do uso de memória do servidor pode ajudar a identificar possíveis ataques.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.