Decimal 3.1.2 Fixes Unbounded Rounding Allocation

P2 — VALIDATE AND UPDATEMedium · 6.9 (CVSS v4.0)EXPLOITATION: NOT STATED

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.

Open the authoritative advisory

Last verified: 2026-10-11 UTC. Recheck the authoritative advisory and supported distribution channel before changing production.

Scope And Authority

Product scopeDecimal for Elixir
AdvisoryGHSA-6c27-994x-c52f / CVE-2026-97853 / Decimal 3.1.2
CVECVE-2026-97853
Authoritative release date2026-10-10 18:14:36 UTC; initial maintainer GitHub Security Advisory publication
Authority revision date2026-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 versionsDecimal 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 versionDecimal 3.1.2 or later
CVSS base score6.9 (CVSS v4.0)
CVSS severityMedium
Exploitation statusNot 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.