CVE-2026-32686 PUBLISHED

Unbounded exponent in decimal enables unauthenticated DoS

Assigner: EEF
Reserved: 13.03.2026 Published: 07.05.2026 Updated: 07.05.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 6.9

Product Status

Vendor ericmj
Product decimal
Versions Default: affected
  • affected from 0.1.0 to 3.0.0 (excl.)
Vendor ericmj
Product decimal
Versions Default: affected
  • affected from bc11f4a2b6fb61fc1360a0ab4e79141bba918841 to 6a523f3a73b8c9974540e21c7aa88f1258bb35ae (excl.)

Credits

  • Peter Ullrich finder
  • Eric Meadows-Jönsson remediation developer
  • José Valim remediation reviewer
  • Wojtek Mach remediation reviewer
  • Jonatan Männchen analyst
  • ruslandoga remediation reviewer
  • Matthew Johnston remediation reviewer

References

Problem Types

  • CWE-400 Uncontrolled Resource Consumption CWE

Impacts

  • CAPEC-130 Excessive Allocation