{"id":"CVE-2026-32686","title":"Uncontrolled Resource Consumption vulnerability in ericmj decimal allows unauthenticated remote Denial of Service.\n\nThe decimal library does not bound the exponent on parsed input","summary":"Uncontrolled 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. Decim…","severity":"medium","cvss":6.9,"cvssVector":"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","cwe":["CWE-400"],"vendor":"ericmj","product":"decimal","affected":["decimal >= 0.1.0 < 3.0.0","ericmj/decimal >= bc11f4a2b6fb61fc1360a0ab4e79141bba918841 < 6a523f3a73b8c9974540e21c7aa88f1258bb35ae"],"published":"2026-05-07","updated":"2026-09-08","sourceUpdated":"2026-09-08T14:17:21.870","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-32686","references":[{"url":"https://cna.erlef.org/cves/CVE-2026-32686.html","label":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/ericmj/decimal/commit/6a523f3a73b8c9974540e21c7aa88f1258bb35ae","label":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/ericmj/decimal/commit/bc11f4a2b6fb61fc1360a0ab4e79141bba918841","label":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/ericmj/decimal/security/advisories/GHSA-rhv4-8758-jx7v","label":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://osv.dev/vulnerability/EEF-CVE-2026-32686","label":"6b3ad84c-e1a6-4bf7-a703-f496b71e49db"},{"url":"https://github.com/ericmj/decimal/security/advisories/GHSA-rhv4-8758-jx7v","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}],"tags":["nvd","cve.org","exploit-available"],"exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"yes","technicalImpact":"partial","timestamp":"2026-05-08T22:42:13.343081Z"},"cvssSource":"cna","epss":0.00321,"epssPercentile":0.25312,"ingestedAt":"2026-09-08T14:34:06.483Z","slug":"CVE-2026-32686","body":"## Overview\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/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.\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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":50,"depthScoreParts":{"impact":38,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":5097,"id":"CVE-2026-32686","ts":1788887248173,"field":"exploit_available","old":"false","new":"true"},{"seq":5096,"id":"CVE-2026-32686","ts":1788887248173,"field":"cvss","old":null,"new":"6.9"},{"seq":5095,"id":"CVE-2026-32686","ts":1788887248173,"field":"severity","old":"none","new":"medium"},{"seq":3980,"id":"CVE-2026-32686","ts":1788886363826,"field":"exploit_available","old":"true","new":"false"},{"seq":3979,"id":"CVE-2026-32686","ts":1788886363826,"field":"cvss","old":"6.9","new":null},{"seq":3978,"id":"CVE-2026-32686","ts":1788886363826,"field":"severity","old":"medium","new":"none"},{"seq":2795,"id":"CVE-2026-32686","ts":1788883030522,"field":"exploit_available","old":"false","new":"true"},{"seq":2794,"id":"CVE-2026-32686","ts":1788883030522,"field":"cvss","old":null,"new":"6.9"},{"seq":2793,"id":"CVE-2026-32686","ts":1788883030522,"field":"severity","old":"none","new":"medium"},{"seq":1824,"id":"CVE-2026-32686","ts":1788882433445,"field":"exploit_available","old":"true","new":"false"},{"seq":1823,"id":"CVE-2026-32686","ts":1788882433445,"field":"cvss","old":"6.9","new":null},{"seq":1822,"id":"CVE-2026-32686","ts":1788882433445,"field":"severity","old":"medium","new":"none"},{"seq":238,"id":"CVE-2026-32686","ts":1788881642601,"field":"exploit_available","old":"false","new":"true"},{"seq":237,"id":"CVE-2026-32686","ts":1788881642601,"field":"cvss","old":null,"new":"6.9"},{"seq":236,"id":"CVE-2026-32686","ts":1788881642601,"field":"severity","old":"none","new":"medium"}]}