CVE-2026-82564

High

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.

SeverityHigh
CVSS7.1
Exploit probability—
ProductAsh-project Ash Ai
PublishedAug 31, 2026
First seenAug 31, 2026

How to fix

Update
  • ash-project ash_ai1.0.0, 87f616d5bfbf7af43346f0701ae17f853789a602 or later

Affected products

ProductAffected versionsFixed in
ash-project ash_ai0.6.0 ≤ v < 1.0.0, bc2122f78fca6c11d8ec2b9ac53148ec17476460 ≤ v < 87f616d5bfbf7af43346f0701ae17f853789a6021.0.0, 87f616d5bfbf7af43346f0701ae17f853789a602

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.