PT-2026-109865

CVE-2026-97853

·

Publicado

2026-10-10

·

Atualizado

2026-10-10

Descrição por

CVSS 4.0
6.9
Média
MétricasAV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Nome do Software Vulnerável e Versões Afetadas decimal versões 0.1.0 até 3.1.1
Description Um problema de alocação de memória existe na função Decimal.round/3 que permite a Negação de Serviço (DoS). A função constrói o resultado completo para o número solicitado de casas decimais antes de aplicar a precisão do contexto, fazendo com que o consumo de memória cresça com base no argumento places em vez do tamanho do resultado. Para places positivos, o software anexa dígitos zero ao coeficiente como uma charlist; para places negativos, ele constrói uma charlist de dígitos zero. Um valor elevado, como -50.000.000, pode alocar aproximadamente 5,5 GB de memória, potencialmente esgotando os recursos disponíveis e causando a interrupção da BEAM VM. Em versões mais antigas, este problema manifesta-se como alto consumo de CPU devido a um loop executado para cada casa decimal. Aplicações estão expostas se passarem valores fornecidos pelo usuário para Decimal.round/2 ou Decimal.round/3 sem a devida limitação.
Recommendations Atualize o decimal para a versão 3.1.2 ou posterior. Como solução temporária, limite o argumento places antes de chamar Decimal.round/2 ou Decimal.round/3, por exemplo, restringindo-o a um intervalo como -34..34 ou às escalas específicas suportadas pela aplicação.
Explorabilidade
Exploit
Correção
Fornecedores
Produtos afetados
Identificadores relacionados
GHSA-6C27-994X-C52F
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾