Decimal 3.1.2 Fixes Unbounded Rounding Allocation
Quick Answer
The Decimal project published GHSA-6c27-994x-c52f for CVE-2026-97853, a Medium 6.9 CVSS v4.0 denial-of-service flaw. Applications using Decimal 0.1.0 through 3.1.1 are affected when an untrusted or unbounded places value can reach Decimal.round/2 or Decimal.round/3. Upgrade to 3.1.2 or later.
Upgrade Decimal And Bound User-Controlled Scale Values
What to do now: Find direct and transitive Decimal use, identify paths that pass user-controlled places or scale values into Decimal.round/2 or Decimal.round/3, upgrade to 3.1.2 or later, retain input bounds as defense in depth, validate rounding-dependent workflows, and preserve evidence.
Last verified: 2026-10-11 UTC. Recheck the authoritative advisory and supported distribution channel before changing production.
Scope And Authority
| Product scope | Decimal for Elixir |
|---|---|
| Advisory | GHSA-6c27-994x-c52f / CVE-2026-97853 / Decimal 3.1.2 |
| CVE | CVE-2026-97853 |
| Authoritative release date | 2026-10-10 18:14:36 UTC; initial maintainer GitHub Security Advisory publication |
| Authority revision date | 2026-10-10 19:43:45.217 UTC; the EEF CNA record was published and last updated after the maintainer advisory, whose latest update is 18:14:37 UTC |
| Affected versions | Decimal 0.1.0 through 3.1.1 when an application passes a user-controlled or otherwise unbounded places or scale value to Decimal.round/2 or Decimal.round/3. |
| Fixed version | Decimal 3.1.2 or later |
| CVSS base score | 6.9 (CVSS v4.0) |
| CVSS severity | Medium |
| Exploitation status | Not stated by the Decimal project or the Erlang Ecosystem Foundation; no exploitation claim is inferred. |
What Changed
Decimal 3.1.2 limits coefficient padding to the context precision and avoids building zero lists proportional to an extreme places value. The authority identifies memory exhaustion, BEAM VM termination, and CPU consumption in older releases; it does not report active exploitation.
What To Validate Now
- Inventory. Locate Elixir applications, services, jobs, and dependencies using Decimal; record the resolved package version, deployment owner, and every path that derives rounding places or scale from requests, imports, messages, or stored data.
- Establish applicability. Treat Decimal 0.1.0 through 3.1.1 as affected only where an untrusted or unbounded places value can reach Decimal.round/2 or Decimal.round/3. Do not infer exposure merely from the presence of Decimal or from ordinary fixed-scale rounding.
- Remediate. Upgrade the Hex decimal package to 3.1.2 or later through the supported dependency workflow. Until every deployed artifact is fixed, bound places before rounding—for example to -34..34 or to the narrower scales the application supports, as the authority recommends.
- Validate. Confirm Decimal 3.1.2 or later in lockfiles, built releases, and running artifacts; test expected positive and negative scales, boundary and rejected inputs, conversions of rounded zero values, memory behavior, and rollback readiness.
- Retain evidence. Preserve asset and owner identifiers, the applicability decision, before-and-after versions, change approval, installation output, validation results, and any exception or rollback record.
Operational Cautions
The fixed implementation can return a value for extreme inputs that previously exhausted resources or raised SystemLimitError. Keep application-specific input bounds, test financial and scientific rounding expectations, confirm the resolved dependency in every release artifact, and do not treat a crash or high-memory event as proof of exploitation.
Evidence To Retain
- Exact product, release stream, package or application version, enabled feature, environment, and accountable owner.
- UTC timestamps, authority revision, approved change record, installer or package-manager output, and resulting version.
- Relevant logs and monitoring evidence, test results, exceptions, compensating controls, and rollback decisions.
Related TechGeeks Resources
Authoritative References
Correction policy: If the authority changes affected versions, fixed versions, severity, exploitation information, mitigations, or required action, TechGeeks will update this notice and its verification date.

