Medium severity · published Sep 1, 2026
CVE-2026-82745
ETS and Mnesia data layers overwrite an existing record on create instead of enforcing primary-key uniqueness
5.9
CVSS
0.2%
EPSS
No
On KEV
Description
Improper Access Control vulnerability in ash-project ash lets a create action overwrite an existing record when the ETS or Mnesia data layer is used, because neither enforced primary-key uniqueness on insert.
Unlike a SQL data layer, whose unique primary-key constraint rejects a duplicate, the ETS and Mnesia data layers implemented create as a keyed insert that replaces any existing entry with the same primary key (lib/ash/data_layer/ets/ets.ex, lib/ash/data_layer/mnesia/mnesia.ex). An actor who can set the primary key on a create (for example a user-supplied string or integer key) can submit a create whose key matches an existing record and silently overwrite it, destroying and replacing another entity's data without going through the update action or its policies. The fix rejects a create whose primary key already exists with an already-taken error, and only allows duplicates for keyless resources.
This issue affects ash: from 0.4.0 before 3.32.2.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 6% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
AS
ash · ash-project
0.4.0 before 3.32.2; 6dc699d8a683d542812b34a8c104cc90164add3a before 912e243196017c2a812c25905c2b1cc3bbb843fc · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-82745
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-82745
cna.erlef.org
https://cna.erlef.org/cves/CVE-2026-82745.html
github.com
https://github.com/ash-project/ash/commit/912e243196017c2a812c25905c2b1cc3bbb843fc
github.com
https://github.com/ash-project/ash/security/advisories/GHSA-92x7-q3h5-wf88
osv.dev
https://osv.dev/vulnerability/EEF-CVE-2026-82745
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
