Description
Uncontrolled Resource Consumption vulnerability in ericmj decimal allows unauthenticated remote Denial of Service. The decimal library does not bound the exponent on parsed input. Storing a decimal with a very large exponent (e.g. Decimal.new("1e1000000000")) is accepted without error. Subsequent calls to arithmetic functions (Decimal.add/2, Decimal.sub/2, Decimal.div/2), Decimal.to_string/2 with :normal or :xsd format, Decimal.to_integer/1, Decimal.round/3, or Decimal.compare/3 with a threshold allocate memory proportional to the exponent value, which can exhaust available memory and crash the BEAM VM. Any application that accepts user-supplied decimal input and subsequently performs arithmetic, rounding, conversion to integer, or string formatting on it is exposed. A single malicious request is sufficient to cause an out-of-memory crash. This issue affects decimal: from 0.1.0 before 3.0.0.
Problem types
CWE-400 Uncontrolled Resource Consumption
Product status
0.1.0 (semver) before 3.0.0
bc11f4a2b6fb61fc1360a0ab4e79141bba918841 (git) before 6a523f3a73b8c9974540e21c7aa88f1258bb35ae
Credits
Peter Ullrich
Eric Meadows-Jönsson
José Valim
Wojtek Mach
Jonatan Männchen
ruslandoga
Matthew Johnston
References
github.com/...ecimal/security/advisories/GHSA-rhv4-8758-jx7v
cna.erlef.org/cves/CVE-2026-32686.html
osv.dev/vulnerability/EEF-CVE-2026-32686
github.com/...ommit/6a523f3a73b8c9974540e21c7aa88f1258bb35ae