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.
Published: 2026-09-01
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The bug allows a create operation to overwrite an existing record because the ETS and Mnesia layers perform a keyed insert that silently replaces any entry with the same primary key. An attacker who can supply a primary key—such as through a user‑controlled string or integer—can submit a create request that matches an existing key and thereby delete or replace another user's data without going through a formal update action or its authorization checks. This is an Improper Access Control issue that results in unauthorized data modification.

Affected Systems

The flaw is present in the Ash project’s data handling library for any version from 0.4.0 up to (but not including) 3.32.2. The affected product is the open‑source Ash framework used for building Elixir applications.

Risk and Exploitability

The CVSS score of 5.9 indicates moderate severity, and there is no EPSS data available, so the likelihood of exploitation is currently unknown. The issue is not listed in CISA’s KEV catalog. An actor who can control the primary key for a create request—typically via an exposed API endpoint—can readily exploit the flaw; public or internal users could trigger it if the API does not enforce primary‑key uniqueness.

Generated by OpenCVE AI on September 1, 2026 at 06:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Ash to version 3.32.2 or later, which rejects create requests that would duplicate an existing primary key.
  • If an immediate upgrade is not possible, restrict API access so that only trusted internal code can supply primary keys, or implement an application‑level check that rejects a duplicate primary key before calling the data layer.
  • Disable or remove exposed API endpoints that allow direct creation with arbitrary keys to prevent the ability to submit malicious create requests.

Generated by OpenCVE AI on September 1, 2026 at 06:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 04:00:00 +0000

Type Values Removed Values Added
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.
Title ETS and Mnesia data layers overwrite an existing record on create instead of enforcing primary-key uniqueness
First Time appeared Ash-project
Ash-project ash
Weaknesses CWE-284
CPEs cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash
References
Metrics cvssV4_0

{'score': 5.9, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-09-01T03:42:28.309Z

Reserved: 2026-08-31T01:00:09.774Z

Link: CVE-2026-82745

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-01T04:18:04.803

Modified: 2026-09-01T04:18:04.803

Link: CVE-2026-82745

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T06:45:04Z

Weaknesses