Description
Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to submit a non-finite decimal value that bypasses numeric bounds constraints or fails later operations on the value.

Ash.Type.Decimal cast input through Ecto's decimal cast in cast_input/2 and cast_stored/2 (lib/ash/type/decimal.ex) without checking that the resulting value is finite. Elixir's Decimal represents Infinity and NaN as valid structs, so a value such as "Infinity" or "NaN" passed casting and was persisted. Because NaN compares as false against every bound, min and max constraints do not reject it, and the stored special value later raises when used in Decimal arithmetic or is refused by the data layer, failing subsequent requests. The fix rejects any non-finite Decimal during casting.

This issue affects ash: from 1.28.0 before 3.32.2.
Published: 2026-09-01
Score: 2.1 Low
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service due to invalid numeric input
Action: Apply Patch
AI Analysis

Impact

The vulnerability arises because ash’s Decimal type accepts Elixir Decimal structs representing Infinity or NaN without verifying that the value is finite. These non‑finite values satisfy min and max bounds because NaN compares as false against all bounds, allowing them to be stored. When later used in arithmetic or processed by the data layer, they trigger errors, causing failures in subsequent requests. The resulting impact is a denial of service, potentially affecting all functionality that relies on Ash.Type.Decimal.

Affected Systems

The affected product is the open‑source Ash framework from ash‑project. Versions from 1.28.0 up to but not including 3.32.2 are impacted. The exact vendor is ash‑project and the product name is ash.

Risk and Exploitability

The CVSS score is 2.1, indicating low severity. EPSS is not available, and the vulnerability is not listed in CISA’s KEV catalog, suggesting a low likelihood of exploitation in the wild. The attack vector is inferred to be remote if the application exposes an API that accepts Decimal inputs, or local if unauthorized manipulation of input data is possible. Exploitation would require supplying a non‑finite value such as "Infinity" or "NaN" during input processing, which then bypasses bounds checks and leads to downstream failures. This indicates a limited exploitation scope, likely confined to environments where the vulnerable Ash version is used.

Generated by OpenCVE AI on September 1, 2026 at 04:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ash to version 3.32.2 or later which rejects non‑finite Decimal values during casting
  • If an upgrade is not immediately possible, implement a pre‑validation step to check that Decimal values are finite before passing them to Ash.Type.Decimal
  • Restart the application after applying the fix or after adding validation to ensure stale state is cleared

Generated by OpenCVE AI on September 1, 2026 at 04:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 01 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
Description Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to submit a non-finite decimal value that bypasses numeric bounds constraints or fails later operations on the value. Ash.Type.Decimal cast input through Ecto's decimal cast in cast_input/2 and cast_stored/2 (lib/ash/type/decimal.ex) without checking that the resulting value is finite. Elixir's Decimal represents Infinity and NaN as valid structs, so a value such as "Infinity" or "NaN" passed casting and was persisted. Because NaN compares as false against every bound, min and max constraints do not reject it, and the stored special value later raises when used in Decimal arithmetic or is refused by the data layer, failing subsequent requests. The fix rejects any non-finite Decimal during casting. This issue affects ash: from 1.28.0 before 3.32.2.
Title Non-finite Infinity/NaN decimal values bypass bounds constraints in Ash.Type.Decimal
First Time appeared Ash-project
Ash-project ash
Weaknesses CWE-1284
CPEs cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash
References
Metrics cvssV4_0

{'score': 2.1, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-09-01T15:15:19.108Z

Reserved: 2026-08-31T00:59:10.001Z

Link: CVE-2026-82734

cve-icon Vulnrichment

Updated: 2026-09-01T15:15:15.613Z

cve-icon NVD

Status : Deferred

Published: 2026-09-01T04:18:02.600

Modified: 2026-09-01T21:15:00.147

Link: CVE-2026-82734

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T05:00:07Z

Weaknesses
  • CWE-1284

    Improper Validation of Specified Quantity in Input