Skip to main content

AshAi EUVDEUVD-2026-68306

| CVE-2026-82564 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-08-31 EEF
7.1
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain authenticated tool caller credentials
  2. Delivery
    Identify exposed identity-configured update or destroy tool
  3. Exploit
    Craft identity argument as map predicate expression
  4. Execution
    Bypass identity_filter/3 scalar check
  5. Persist
    Ash.Query.do_filter/2 evaluates predicate against arbitrary records
  6. Impact
    Ash.bulk_update!/bulk_destroy! modifies or destroys unowned records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

The attacker must be an authenticated caller with invocation rights to an AshAi-exposed tool (PR:L per CVSS 4.0 vector). The targeted tool must be configured with an identity option on an update or destroy action - read-only tools are not exploitable. Exploitation is triggered by supplying a map value (predicate expression) rather than a scalar in the identity field of the tool call arguments; an omitted key also triggers exploitation via an IS NULL match. Deployments running ash_ai outside the 0.6.0-pre-1.0.0 range or those that do not expose identity-configured update/destroy tools are not affected. Limiting factors: (1) valid credentials or session token allowing tool invocation are required, (2) at least one update or destroy tool with identity configuration must be active in the deployment, and (3) the ash_ai version must be 0.6.0 or later but before 1.0.0.

Impact

The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N) is well-calibrated to the actual risk profile. Low privilege requirement (PR:L) confirms that any authenticated tool caller - no administrator or special role needed - can trigger the bypass, making the effective attack population broad within any deployment that exposes identity-configured tools. High integrity impact (VI:H) is appropriate because a successful exploit can modify or destroy arbitrary records, including wholesale table truncation via bulk operations. Low confidentiality impact (VC:L) reflects that filter behavior implicitly reveals record existence. No CISA KEV listing exists and no EPSS data was provided, so exploitation probability must be inferred: the attack complexity is genuinely low (a single crafted JSON argument suffices), and the advisory's detailed technical description significantly lowers the bar for reproduction. This is not a high-CVSS/low-real-risk case - the integrity damage potential is severe within affected deployments, and the only practical limiting factor is ash_ai's niche deployment footprint in the Elixir ecosystem.

Exploit ScenarioDerived

An authenticated AI agent or API client with tool invocation rights sends a crafted JSON payload to an identity-configured update or destroy tool, supplying the identity field as a map predicate - for example, {"record_id": {"not_eq": "attacker-own-uuid"}} - instead of a scalar value. AshAi's identity_filter/3 passes this directly into Ash.Query.do_filter/2, which interprets the map as a filter expression matching all records except the attacker's own, then Ash.bulk_update! applies the write to the first matched record. No public POC has been identified, but the advisory's technical description provides sufficient detail for straightforward reproduction by a motivated attacker.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAI

Authorization bypass in AshAi (ash_ai) versions 0.6.0 through pre-1.0.0 allows any authenticated tool caller to update or destroy database records it never legitimately identified, up to and including every row in a table. The flaw is in AshAi.Tool.Execution.identity_filter/3, which passes raw tool arguments directly into Ash.Query.do_filter/2; because Ash's filter DSL interprets map values as predicate expressions rather than scalar literals, a caller can inject filter logic such as {"not_eq": "<own-ref>"} to retarget bulk writes to arbitrary records. A vendor patch is available in commit 87f616d and the fix version is 1.0.0; no public exploit or CISA KEV listing exists at time of analysis.

RemediationAI

Upgrade ash_ai to version 1.0.0 or later, which incorporates the fix from commit 87f616d5bfbf7af43346f0701ae17f853789a602 (https://github.com/ash-project/ash_ai/commit/87f616d5bfbf7af43346f0701ae17f853789a602). The patch enforces scalar type casting on identity field values in identity_filter/3, rejecting map-based predicate expressions before they reach Ash.Query.do_filter/2. If an immediate upgrade is not possible, the most effective workaround is to temporarily remove or disable any AshAi tools that expose identity-configured update or destroy actions - this eliminates the attack surface entirely but also disables the affected tool functionality for AI callers until the patch is applied. The vendor advisory at https://github.com/ash-project/ash_ai/security/advisories/GHSA-jg86-xh36-h5xc and the EEF CNA entry at https://cna.erlef.org/cves/CVE-2026-82564.html provide additional context.

Affected VersionsENISA

ash_ai 0.6.0 <1.0.0
ash_ai bc2122f78fca6c11d8ec2b9ac53148ec17476460 <87f616d5bfbf7af43346f0701ae17f853789a602

Affected Packages

euvd ash_ai fix: 1.0.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

AshAi is an Elixir library built on the Ash Framework that exposes Ash resources as AI-callable tools via the Model Context Protocol (MCP). The root cause is CWE-639 (Authorization Bypass Through User-Controlled Key): identity_filter/3 in AshAi.Tool.Execution constructs the update/destroy query filter as [{key, Map.get(arguments, to_string(key))}] and hands it directly to Ash.Query.do_filter/2. In Ash's filter DSL, a map value such as %{"not_eq" => "<value>"} is interpreted as a predicate expression rather than a literal equality check. Combined with Ash.Query.limit(1) and Ash.bulk_update!/Ash.bulk_destroy!, this lets a caller retarget the write operation to a record outside its own scope. An omitted identity key produces an IS NULL filter, matching arbitrary rows. The remediation in commit 87f616d5bfbf7af43346f0701ae17f853789a602 casts each incoming identity value to the declared Ash field type, rejecting any non-scalar input at the filter construction stage. Affected CPE: cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:* from 0.6.0 before 1.0.0.

Know when Ash Ai gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (EEF) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

Network-exploitable by any authenticated tool caller (PR:L, AV:N, AC:L); high integrity from arbitrary record modification; low confidentiality from implicit record enumeration via filter response behavior.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

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.

Technical POC Analysis

CWE-639 (Authorization Bypass Through User-Controlled Key).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Rare
niche Elixir AI tool integration library, limited enterprise footprint
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy