CVE-2026-82752
Improper Validation of Specified Quantity in Input vulnerability in ash-project ash allows an attacker to store a value of arbitrary size in an attribute whose length constraint should bound it. Ash measures string length with Elixir's String.length/1, which counts Unicode graphemes, in the max_length and min_length constraints of Ash.Type.String (apply_constraints/2 in lib/ash/type/string.ex), in Ash.Resource.Validation.StringLength, and in the string_length expression function. A grapheme carries an unbounded number of combining marks, so a base character followed by a million combining acute accents is one grapheme and megabytes of data, and satisfies max_length: 2. Where the data layer imposes no independent limit (ETS, Mnesia, or a Postgres text column) the whole value is persisted, so an attacker can write an entire request body into an attribute declared with a small maximum and grow storage without bound. The counting unit also disagrees with the storage layer, which counts codepoints rather than graphemes, so a value accepted by the constraint can still be rejected or truncated by the column. A Postgres varchar(n) column bounds the value itself and is not exposed. This issue affects ash: from 0.10.0 before 3.33.0.
Scoring
- Severity
- MEDIUM
- CVSS base score
- 5.9
- CVSS vector
- CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
- EPSS probability
- 0.13%
- CWE
- CWE-1284
- Published
- 2026-09-05
- Last modified
- 2026-09-08
Affected products
- ash-project ash
- ash-project ash
Weakness type
Related vulnerabilities
- CVE-2026-87962 — t-digest 3.1 through 3.3 Denial of Service via Unvalidated Length Fields in MergingDigest.fromBytes
- CVE-2026-87735 — An issue was discovered in the mirage-crypto-pk package before 2.3.0 for OCaml. There is an...
- CVE-2026-87470 — Improper quantity validation in Tint in Google Chrome on on Mac prior to 153.0.8010.36 allowed a...
- CVE-2026-16025 — Improper Payment Validation in PayTR's PayTR Virtual Pos iFrame API (v9x) WHMCS Module
- CVE-2026-85201 — In Eclipse Ankaios versions 0.1.0 through 1.0.1, the agent does not limit the length declared by a...
- CVE-2026-82750 — Unbounded EIP-7702 authorization list in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors account delegation
- CVE-2026-82751 — Unbounded key authorization in mpp Tempo fee-payer sponsorship inflates gas cost and sponsors access-key provisioning
- CVE-2026-53720 — pymonocypher: Potential heap buffer overflow on nb_blocks in argon2i_32 when provided buffer is too small