Medium severity · published Sep 1, 2026
CVE-2026-82746
Ash.update_many/4 atomic path skips resource policy authorization, allowing updates to forbidden records
5.9
CVSS
0.2%
EPSS
No
On KEV
Description
Missing Authorization vulnerability in ash-project ash allows an actor to update records forbidden by resource policies through the atomic path of Ash.update_many/4.
Ash.update_many/4 runs as a single atomic statement (a data-layer update_many, for example a SQL MERGE) whenever an atomic strategy is used and the data layer supports it. Ash.Actions.Update.UpdateMany (lib/ash/actions/update/update_many.ex) took that path even under authorize?: true without applying the resource's policies, so the statement updated every row matched by primary key regardless of the policy filter that authorization would impose. An actor could therefore update records the policies forbid, such as rows belonging to another actor or tenant. The fix restricts the atomic path to data layers supporting changeset filters when authorizing, authorizes each changeset, and merges the resulting policy filter into each changeset so the statement only touches authorized rows.
This issue affects ash: from 3.29.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
3.29.0 before 3.32.2; 45e6b4ec7b2dc076afe614aa7aef7e1f15b5e335 before ed4e656822ffe83f8e960d5de0b573c0d1ae7f29 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-82746
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-82746
cna.erlef.org
https://cna.erlef.org/cves/CVE-2026-82746.html
github.com
https://github.com/ash-project/ash/commit/ed4e656822ffe83f8e960d5de0b573c0d1ae7f29
github.com
https://github.com/ash-project/ash/security/advisories/GHSA-j7c9-3fw3-jc64
osv.dev
https://osv.dev/vulnerability/EEF-CVE-2026-82746
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
