Description
Improper Input Validation vulnerability in ash-project ash fails to enforce the outer array constraints on a doubly-nested {:array, {:array, type}} attribute, letting invalid input pass validation.

Ash.Type.apply_constraints/3 (lib/ash/type/type.ex) handled the {:array, {:array, type}} case by mapping only the inner {:array, type} constraints over each element, so constraints declared on the outer array (such as min_length, max_length, and nil_items?) were never applied. An attacker could submit an outer list that violates those constraints (too many elements, or nil entries where disallowed) and have it accepted and persisted. The fix enforces the outer array constraints and adds explicit handling for nil and non-list inputs.

This issue affects ash: from 2.16.1 before 3.32.2.
Published: 2026-09-01
Score: 2.1 Low
EPSS: < 1% Very Low
KEV: No
Impact: Improper input validation allowing invalid nested array data to be accepted and persisted
Action: Upgrade
AI Analysis

Impact

The vulnerability arises because the Ash.Type.apply_constraints/3 function fails to enforce constraints declared on the outer array when the attribute is defined as a doubly‑nested {:array, {:array, type}}. As a result, policy rules such as min_length, max_length, and nil_items? are ignored, letting an attacker submit an outer list that violates these rules. The data is then accepted and stored, compromising the integrity of application state. This weakness is a classic example of improper input validation (CWE‑20).

Affected Systems

The flaw affects the Ash framework (ash-project:ash) for all releases between version 2.16.1 and before 3.32.2. Any application that relies on these releases and defines nested array attributes is susceptible.

Risk and Exploitability

The CVSS score is 2.1, indicating low severity. No EPSS score is available, suggesting that exploitation is not expected to be common. The vulnerability is not listed in the CISA KEV catalog. Attackers would need to supply structured input that satisfies the inner array constraints but violates the outer ones; therefore the exploitation vector is likely application‑level input via API or UI. Due to the low severity and lack of publicly known exploit code, the risk to systems remains modest, but the integrity of persisted data can be impacted.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Ash to version 3.32.2 or later to receive the patch that enforces outer array constraints and handles nil and non‑list inputs.
  • Disable use of nested {:array, {:array, type}} attributes or modify the schema to explicitly enforce outer array constraints such as min_length, max_length, and nil_items?.
  • Implement additional input validation in application code to check array lengths and nil values before persisting data, ensuring that even if library constraints are bypassed, corrupt data cannot be stored.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 13:30: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:45:00 +0000

Type Values Removed Values Added
Description Improper Input Validation vulnerability in ash-project ash fails to enforce the outer array constraints on a doubly-nested {:array, {:array, type}} attribute, letting invalid input pass validation. Ash.Type.apply_constraints/3 (lib/ash/type/type.ex) handled the {:array, {:array, type}} case by mapping only the inner {:array, type} constraints over each element, so constraints declared on the outer array (such as min_length, max_length, and nil_items?) were never applied. An attacker could submit an outer list that violates those constraints (too many elements, or nil entries where disallowed) and have it accepted and persisted. The fix enforces the outer array constraints and adds explicit handling for nil and non-list inputs. This issue affects ash: from 2.16.1 before 3.32.2.
Title Ash.Type ignores outer array constraints on nested {:array, {:array, type}} inputs
First Time appeared Ash-project
Ash-project ash
Weaknesses CWE-20
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:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-09-01T12:42:58.541Z

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

Link: CVE-2026-82740

cve-icon Vulnrichment

Updated: 2026-09-01T12:42:49.595Z

cve-icon NVD

Status : Deferred

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

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

Link: CVE-2026-82740

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-20

    Improper Input Validation