CVE-2026-97853 in decimalinformação

Sumário

de VulDB • 10/10/2026

Vulnerabilidade de Alocação de Memória com Valor de Tamanho Excessivo no ericmj decimal permite Negação de Serviço (DoS).

O Decimal.round/3 constrói o resultado completo para a quantidade solicitada de casas decimais antes que a precisão do contexto (34 dígitos por padrão) seja aplicada, portanto seu custo cresce em função do argumento places e não do tamanho do resultado. Para valores positivos de places, ele anexa zeros correspondentes ao número de casas como uma charlist antes de convertê-la para um inteiro; para valores negativos de places, ele constrói uma charlist com -places dígitos zero. Uma única chamada como Decimal.round(Decimal.new("1.5"), -50_000_000) aloca cerca de 5,5 GB de memória, o que pode esgotar a memória disponível e fazer com que a VM BEAM seja encerrada (killed). As versões mais antigas, por sua vez, executam um loop uma vez para cada casa decimal, consumindo CPU proporcionalmente ao valor do argumento places.

Qualquer aplicação que passe um número de casas decimais ou escala fornecido pelo usuário para Decimal.round/2 ou Decimal.round/3 sem impor limites está exposta. Os limites de entrada adicionados para CVE-2026-32686 não cobrem o argumento places.

Este problema afeta a biblioteca decimal: das versões 0.1.0 até antes da 3.1.2.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsável

EEF

Reservar

09/10/2026

Divulgação

10/10/2026

Moderação

aceite

Entrada

VDB-416267

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!