Vulnerability · Published May 7, 2026 · Assigned by EEF
CVE-2026-32686Unbounded exponent in decimal enables unauthenticated DoS
Medium 6.9
In plain English
A medium-severity uncontrolled resource consumption in decimal from ericmj. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 42% of all known vulnerabilities).
Official 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/2M), Decimal.to_string/2M with :normalM or :xsdM format, Decimal.to_integer/1M, Decimal.round/3M, or Decimal.compare/3M 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.
Affected products (as reported)
Weakness: CWE-400 · 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
References
- https://github.com/ericmj/decimal/security/advisories/GHSA-rhv4-8758-jx7v vendor-advisory, related
- EEF CNA record for CVE-2026-32686 related
- OSV record EEF-CVE-2026-32686 related
- Introducing commit bc11f4a in ericmj/decimal related
- Fix commit 6a523f3 in ericmj/decimal patch