PT-2026-109865 · Decimal · Decimal

·

CVE-2026-97853

·

Publicado

2026-10-10

·

Atualizado

2026-10-10

CVSS v4.0

6.9

Média

VetorAV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
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.

Correção

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-97853
GHSA-6C27-994X-C52F

Produtos afetados

Decimal