{"id":"EEF-CVE-2026-32686","summary":"Unbounded exponent in decimal enables unauthenticated DoS","details":"## Summary\n\nUncontrolled Resource Consumption vulnerability in ericmj decimal allows unauthenticated remote Denial of Service.\n\nThe 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.\n\nAny 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.\n\nThis issue affects decimal: from 0.1.0 before 3.0.0.","aliases":["CVE-2026-32686","GHSA-rhv4-8758-jx7v"],"modified":"2026-05-27T16:00:09.066671332Z","published":"2026-05-07T14:04:47.222Z","database_specific":{"cpe_ids":["cpe:2.3:a:ericmj:decimal:*:*:*:*:*:*:*:*"],"capec_ids":["CAPEC-130"],"cwe_ids":["CWE-400"]},"references":[{"type":"ADVISORY","url":"https://github.com/ericmj/decimal/security/advisories/GHSA-rhv4-8758-jx7v"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-32686.html"},{"type":"FIX","url":"https://github.com/ericmj/decimal/commit/6a523f3a73b8c9974540e21c7aa88f1258bb35ae"},{"type":"PACKAGE","url":"https://hex.pm/packages/decimal"}],"affected":[{"package":{"name":"decimal","ecosystem":"Hex","purl":"pkg:hex/decimal"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.1.0"},{"fixed":"3.0.0"}]}],"versions":["0.1.1","0.1.2","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","1.0.0","1.0.1","1.1.0","1.1.1","1.1.2","1.2.0","1.3.0","1.3.1","1.4.0","1.4.1","1.5.0","1.6.0","1.7.0","1.8.0","1.8.1","1.9.0","1.9.0-rc.0","2.0.0","2.0.0-rc.0","2.1.0","2.1.1","2.2.0","2.3.0","2.4.0","2.4.1"],"database_specific":{"source":"https://cna.erlef.org/osv/EEF-CVE-2026-32686.json"}},{"ranges":[{"type":"GIT","repo":"https://github.com/ericmj/decimal","events":[{"introduced":"bc11f4a2b6fb61fc1360a0ab4e79141bba918841"},{"fixed":"6a523f3a73b8c9974540e21c7aa88f1258bb35ae"}]}],"versions":["v2.4.0","v2.3.0","v2.2.0","v2.1.1","v2.1.0","v2.0.0","v1.9.0-rc.0","v2.0.0-rc.0","v1.8.1","v1.8.0","v1.7.0","v1.6.0","v1.5.0","v1.4.1","v1.4.0","v1.3.1","v1.3.0","v1.2.0","v1.1.2","v1.1.1","v1.1.0","v1.0.1","v1.0.0","v0.2.5","v0.2.4","v0.2.3","v0.2.2","v0.2.1","v0.2.0","v0.1.2","v0.1.1","v0.1.0"],"database_specific":{"source":"https://cna.erlef.org/osv/EEF-CVE-2026-32686.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"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"}],"credits":[{"name":"Peter Ullrich","type":"FINDER"},{"name":"Eric Meadows-Jönsson / Hex.pm","type":"REMEDIATION_DEVELOPER"},{"name":"José Valim","type":"REMEDIATION_REVIEWER"},{"name":"Wojtek Mach","type":"REMEDIATION_REVIEWER"},{"name":"Jonatan Männchen / EEF","type":"ANALYST"},{"name":"ruslandoga","type":"REMEDIATION_REVIEWER"},{"name":"Matthew Johnston","type":"REMEDIATION_REVIEWER"}]}