CVE-2026-82745 json
ETS and Mnesia data layers overwrite an existing record on create instead of enforcing primary-key uniqueness
published 2026-09-01 2 mo ago modified 2026-09-08 2 mo ago also EEF-CVE-2026-82745 , EUVD-2026-68950 , GHSA-92x7-q3h5-wf88
- cvss
- 5.9
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2 mo ago
Exploit prediction
0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/ash-project/ash/security/advisories/GHSA-92x7-q3h5-wf88 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.9 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 5.9 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ash | >=0.4.0, <3.32.2 |
3.32.2 |
Affected products
- ash-project ash
Classification
- Weakness
-
- CWE-284 Improper Access Control
References
-
github.com
/ash-project/ash/commit/912e243196017c2a812c25905c2b1cc3bbb843fc
patch
-
github.com
/ash-project/ash/security/advisories/GHSA-92x7-q3h5-wf88
vendor-advisory, related, exploit, advisory
-
cna.erlef.org
/cves/CVE-2026-82745.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-82745
related
-
hex.pm
/packages/ash
package
Sources
- CVE List CVE-2026-82745
- NVD CVE-2026-82745
- OSV EEF-CVE-2026-82745
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.