Skip to main content

Ash Framework CVE-2026-114214

| EUVDEUVD-2026-109567 MEDIUM
Incorrect Authorization (CWE-863)
2026-10-25 EEF
6.0
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to AshGraphql-exposed API
  2. Exploit
    Query through-relationship field with limit:1
  3. Execution
    Increment offset to skip source-link filter
  4. Impact
    Read and enumerate unauthorized destination records

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the affected resource to declare a has_many relationship with through: (or an unsorted has_one through: relationship), loaded for a single source record with a caller-controllable limit: 1 and optional offset - for example exposed via AshGraphql relationship field arguments - AND the destination resource's read policies must rely on the relationship (accessing_from) or otherwise be open to the caller. Limiting factors: an authenticated session is required (PR:L), only ash versions 3.24.0 through before 3.37.1 are affected, only through relationships loaded via the limit:1 code path in lateral_join?/4 are vulnerable, and impact is strictly read/confidentiality (no write or integrity effect). Deployments without such a through relationship exposed to caller-controlled paging, or whose destination policies do not depend on accessing_from, are not exploitable.

Impact

This is a medium-severity authorization flaw (CVSS 4.0 base 6.0). The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N) describes a network-reachable, low-complexity information-disclosure issue that requires low privileges (PR:L - an authenticated client) and carries an attack requirement (AT:P) reflecting the specific through-relationship configuration and caller-controlled limit:1 path needed to trigger it. Impact is confidentiality-only; there is no integrity or availability effect (VI:N/VA:N). No EPSS score was supplied, the CVE is not listed in CISA KEV, and no public exploit identified at time of analysis (references are the vendor advisory and patch commits, not exploit code). The vuln.today decision label is 'this_month', consistent with a real but non-emergency fix priority rather than act_now/emergency. Net read: a legitimate authorization-bypass that an authenticated, API-enabled client can abuse for bounded data enumeration, but it is gated behind a non-default resource/policy configuration and requires an existing authenticated session - so it is a scheduled-remediation item, not a drop-everything issue. Note the signals are internally consistent (no KEV/EPSS conflict), but EPSS is simply absent rather than low.

Exploit ScenarioDerived

An authenticated client with access to a GraphQL field backed by a through relationship issues a query such as teachers(limit: 1, offset: n) and increments the offset. Because the destination is read without the filter that links it to the source record, the client pages through and enumerates destination records that policies would otherwise only permit when reached through the proper relationship. No public exploit exists; the scenario is reconstructed from the vendor advisory, and exploitation is network-based with low complexity but requires an authenticated session.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 25, 2026

An incorrect authorization flaw in the Elixir Ash framework (versions 3.24.0 up to but not including 3.37.1) lets an authenticated client read destination records that are unrelated to the source record when a through relationship is loaded for a single record with a caller-controlled limit: 1 and optional offset. The vulnerable path in lateral_join?/4 skips the filter that ties the destination back to the source, so a client paging a field such as teachers(limit: 1, offset: n) through AshGraphql can walk through destination records that the destination's policies only permit when reached via that relationship. Exploitation requires an authenticated session and a deployment that exposes such a through relationship to caller-controlled paging while relying on accessing_from in destination read policies; no public exploit was identified at time of analysis, and the vendor has released a fix in 3.37.1.

RemediationAI

Upgrade the ash dependency to 3.37.1, the version in which this is fixed per the vendor advisory (https://github.com/ash-project/ash/security/advisories/GHSA-g2h4-xp57-q863); the fix is carried in the upstream commits https://github.com/ash-project/ash/commit/e37463307304b26bc8fd606322e5c4d8f7f060e5 (patch) and https://github.com/ash-project/ash/commit/24f41e23dcbd9d07cde270a8141490e8f79251f5. Where an immediate upgrade is not possible, the exposure described in the advisory can be narrowed by removing caller control over limit/offset on through relationship fields (for example relationship arguments surfaced by AshGraphql), so that a through relationship is no longer loaded for a single record with an attacker-chosen limit of 1 or offset; the trade-off is loss of client-side paging on those fields. Alternatively, review destination resource read policies so that access does not depend on the relationship being reached via accessing_from (or is not otherwise open to the caller) for any resource that is the destination of a through relationship, noting that this changes authorization semantics for legitimate relationship-based reads and must be tested per policy.

Affected VersionsENISA

ash 24f41e23dcbd9d07cde270a8141490e8f79251f5 <e37463307304b26bc8fd606322e5c4d8f7f060e5
ash 3.24.0 <3.37.1

Affected Packages

euvd ash fix: 3.37.1

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

Ash is an Elixir application framework that models resources and their relationships, with authorization expressed as policies over reads, writes and relationship traversal. A through: relationship (for example through: [:classrooms, :teachers]) is a convenience declaration that transparently traverses intermediate relationships to reach a destination resource. This issue is CWE-863 (Incorrect Authorization): in lib/ash/actions/read/relationships.ex, the lateral_join?/4 decision could, for a has_many through relationship loaded on a single record with limit: 1, or an unsorted has_one through relationship loaded with limit: 1, select the code path that reads the destination resource without any filter linking it to the source record. The read still executes the destination resource's policies, but it carries the relationship as accessing_from - the mechanism policies use to widen or narrow access when a record is reached through a relationship. Consequently, any data a client pages via a relationship argument such as limit: 1, offset: n (as exposed by AshGraphql relationship field arguments) is authorized as though it were reached through the source record, allowing enumeration of destination records the source does not actually own or link to. The accompanying upstream change also reworks authorization filter path expansion in lib/ash/actions/read/read.ex (expand_path_with_through/2), expanding through relationships into their concrete component paths so authorization filters are applied at the correct relationship path. The trigger conditions beyond the limit: 1 load are not further described in the available sources.

Know when Ash 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 6.0 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network API reachable by an authenticated low-privilege client (PR:L), low complexity once the vulnerable through-relationship field is exposed; confidentiality-only enumeration (C:H) with no integrity or availability impact and no scope change.

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

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

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

DescriptionCVE.org

Incorrect Authorization vulnerability in ash-project ash allows a client to read destination records unrelated to the source record through a through relationship.

When a has_many relationship declared with through: was loaded for a single record with a limit of 1, or an unsorted has_one through relationship was loaded with a limit of 1, lateral_join?/4 in lib/ash/actions/read/relationships.ex chose the path that reads the destination without any filter linking it to the source. The load returned the first destination record by sort, or any other record with an offset. The read still runs the destination's policies but carries the relationship as accessing_from, so a client paging such a field (for example teachers(limit: 1, offset: n) through AshGraphql) can enumerate destination records that policies allow only when reached through that relationship.

This issue affects ash: from 3.24.0 before 3.37.1.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
Elixir-only application framework; niche ecosystem with limited production footprint
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
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.

More in Ash

View all
CVE-2026-55736 MEDIUM POC
5.9 Jun 23

Private argument injection in the Ash Elixir framework (versions 3.0.0 through 3.29.2) allows end users to set action ar

CVE-2021-45688 CRITICAL
9.8 Dec 27

An issue was discovered in the ash crate before 0.33.1 for Rust. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2026-94201 HIGH
8.2 Oct 05

Atom table exhaustion in the Ash framework (Elixir) allows an unauthenticated remote attacker to crash a BEAM node by su

CVE-2026-96581 HIGH
7.6 Oct 26

Cross-tenant record takeover in the Ash framework (Elixir) for versions 1.22.0 up to 3.37.2: when a resource uses attrib

CVE-2026-86338 MEDIUM
6.0 Sep 16

An authorization bypass in the Ash framework (Elixir) lets authenticated, lower-privileged actors recover values they ar

CVE-2026-101028 MEDIUM
6.0 Oct 09

Information disclosure in the Ash framework for Elixir (versions 2.6.0 up to but not including 3.34.6) lets an authentic

CVE-2026-82738 MEDIUM
5.9 Sep 01

Persistent record-level denial of service in the ash Elixir resource framework (versions 3.6.3-3.32.1) lets any actor wh

CVE-2026-82737 MEDIUM
5.9 Sep 01

Integer overflow in Ash Framework's vector encoding corrupts stored vectors in any Elixir application using Ash versions

CVE-2026-82735 MEDIUM
5.9 Sep 01

CPU exhaustion in Ash Framework's string type constraint handler allows denial of service against Elixir applications th

CVE-2026-69659 MEDIUM
5.9 Aug 09

Memory exhaustion via decompression bomb in Ash Framework's keyset pagination can terminate Erlang nodes running version

CVE-2026-82752 MEDIUM
5.9 Sep 05

Unbounded string storage in Ash Framework versions 0.10.0 through 3.32.x allows unauthenticated attackers to bypass max_

CVE-2026-82742 MEDIUM
5.9 Sep 01

Memory exhaustion in Ash Framework's runtime filter engine allows an attacker controlling filter inputs to crash an Elix

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