CVE-2026-82564: CWE-639 Authorization Bypass Through User-Controlled Key in ash-project ash_ai
Description
Authorization Bypass Through User-Controlled Key vulnerability in ash-project ash_ai allows a caller of an identity-configured tool to update or destroy records it never identified, including every row in the table. In AshAi.Tool.Execution, identity_filter/3 built the update/destroy filter directly from the raw tool arguments as [{key, Map.get(arguments, to_string(key))}] and passed it to Ash.Query.do_filter/2. A map value is parsed as a predicate expression rather than a literal, so a caller can send {"public_ref": {"not_eq": "<own-ref>"}} and, combined with Ash.Query.limit(1) and Ash.bulk_update!/Ash.bulk_destroy!, retarget the write at a record it never identified; an omitted key yields an IS NULL filter that matches an arbitrary row. The fix casts each identity value to the field type, rejecting non-scalar inputs. This issue affects ash_ai: from 0.6.0 before 1.0.0.
CVSS v4.0
Score 7.1high
Affected software
ash-project
ash_ai
ash-project
ash_ai
cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in ash_ai's AshAi.Tool.Execution module involves the identity_filter/3 function constructing update and destroy filters directly from raw user input arguments as key-value pairs. Since map values are parsed as predicate expressions rather than literals, an attacker can craft inputs such as {"public_ref": {"not_eq": "<own-ref>"}} to bypass identity restrictions and target records they do not own. Additionally, omitting keys results in IS NULL filters that match arbitrary rows. The root cause is the lack of casting identity values to their expected field types, which allows non-scalar inputs to manipulate query predicates. This flaw affects ash_ai versions >=0.6.0 and <1.0.0.
Potential Impact
An attacker with limited privileges can bypass authorization controls to update or delete records they are not authorized to access, potentially affecting all rows in the targeted database table. This can lead to unauthorized data modification or destruction, compromising data integrity and application security.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix involves casting each identity value to the field type and rejecting non-scalar inputs to prevent predicate injection. Until an official fix is available, avoid using vulnerable versions or restrict access to trusted users only.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-08-30T20:00:01.856Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a94db21acd9273b495a1ead
Added to database: 08/31/2026, 01:38:41 UTC
Last enriched: 09/07/2026, 14:31:12 UTC
Last updated: 10/13/2026, 18:48:24 UTC
Views: 82
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.