SEPTEMBER 17, 2026
Live Feed
Back to database
Case File

CVE-2026-82746

MEDIUM · CVSS 5.9 EPSS 0.12% Public Exploit

Source: NVD + CISA KEV + EPSS · Published 2026-09-01 · Last synced 2026-09-17

CyberRota Analysis

AI-Generated

A missing authorization vulnerability in the Ash framework allows unauthorized actors to update records that should be protected by resource policies, specifically through the atomic path of the Ash.update_many/4 function. This flaw can lead to unauthorized modifications of data, including records belonging to other users or tenants, potentially compromising data integrity and privacy. Organizations using Ash versions from 3.29.0 to before 3.32.2 should prioritize applying the fix to mitigate the risk of unauthorized data access and updates.

Public Exploit Signal

A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.

Note: these links are listed for security research and verification purposes only.

CVE
CVE-2026-82746
Severity
MEDIUM
CVSS
5.9
EPSS
0.12%

Original NVD 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.