CVE-2026-97853 in decimalinformazioni

Riassunto

di VulDB • 11/10/2026

Vulnerabilità di allocazione della memoria con valore di dimensione eccessiva in ericmj decimal consente un Denial of Service (DoS).

Decimal.round/3 costruisce il risultato completo per il numero richiesto di cifre decimali prima che venga applicata la precisione del contesto (di default 34 cifre), quindi il suo costo cresce in base all'argomento places anziché in base alla dimensione del risultato. Per valori positivi di places, vengono aggiunte zero digit pari a places al coefficiente sotto forma di charlist prima della conversione in un intero; per values negativi di places viene costruita una charlist contenente -places zeri. Una singola chiamata come Decimal.round(Decimal.new("1.5"), -50_000_000) alloca circa 5,5 GB di memoria, il che può esaurire la memoria disponibile e causare l'arresto forzato (kill) della BEAM VM. Le versioni più vecchie eseguono invece un ciclo per ogni cifra decimale, consumando CPU in proporzione al valore di places.

Sono esposti a rischio tutte le applicazioni che passano un numero di cifre decimali o uno scale forniti dall'utente alla funzione Decimal.round/2 o Decimal.round/3 senza imporne limiti. I vincoli di input introdotti per CVE-2026-32686 non coprono l'argomento places.

Questo problema interessa la libreria decimal: dalle versioni 0.1.0 fino a prima della 3.1.2.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsabile

EEF

Prenotare

09/10/2026

Divulgazione

10/10/2026

Moderazione

accettato

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!