Low severity · published Sep 1, 2026
CVE-2026-82736
Ash.Type.CiString validates length and match constraints before case folding, allowing constraint bypass
2.1
CVSS
0.2%
EPSS
No
On KEV
Description
Incorrect Behavior Order: Validate Before Canonicalize vulnerability in ash-project ash lets an attacker store a case-insensitive string value that violates its length or match constraints.
Ash.Type.CiString.apply_constraints/2 (lib/ash/type/ci_string.ex) validated the max_length, min_length, and match constraints against the value as submitted, while the type case-folds the string (per its casing) for storage and comparison. Because validation ran before folding, an attacker can submit a value whose folded form breaks a constraint but whose original form passes: for example, against a match pattern requiring uppercase, an uppercase value that is stored lowercased persists a value the pattern rejects. The fix case-folds the value at the start of apply_constraints/2, so the constraints are checked against the form that is actually stored.
This issue affects ash: from 1.29.0-rc0 before 3.32.2.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 8% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
ash · ash-project
1.29.0-rc0 before 3.32.2; f6f5d194bfc7802bd32e48bf2eabd2d97a0109a4 before d8320b0127c8ef453679d70e5dd23a9506951d21 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-82736
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-82736
cna.erlef.org
https://cna.erlef.org/cves/CVE-2026-82736.html
github.com
https://github.com/ash-project/ash/commit/d8320b0127c8ef453679d70e5dd23a9506951d21
github.com
https://github.com/ash-project/ash/security/advisories/GHSA-gg9w-7593-hxg9
osv.dev
https://osv.dev/vulnerability/EEF-CVE-2026-82736
More from ash
8.6
CVE-2025-48044
Authorization bypass when bypass policy condition evaluates to true
8.6
CVE-2025-48043
Bypass and runtime policies that can never pass may be incorrectly applied in filter authorization
8.2
CVE-2026-94201
Filtering an :atom attribute with unsafe_to_atom? can exhaust the BEAM atom table in Ash
7.6
CVE-2026-96581
An upsert on the primary key in Ash ignores attribute multitenancy, so one tenant can read, overwrite and take over another tenant's records
7.5
CVE-2026-34593
Ash Framework: Ash.Type.Module.cast_input/2 atom exhaustion via unchecked Module.concat allows BEAM VM crash
