CVE-2026-82745

ETS and Mnesia data layers overwrite an existing record on create instead of enforcing primary-key uniqueness

State
Published
Severity
5.9 Medium
Published
Sep 1, 2026
Updated
Sep 1, 2026
Reserved
Aug 31, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.05.9 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

Affected Products

ProductVersions
ashash-project
  • 0.4.0 to before 3.32.2Affected
ashash-project
  • 6dc699d8a683d542812b34a8c104cc90164add3a to before 912e243196017c2a812c25905c2b1cc3bbb843fcAffected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.