Description
Incorrect Authorization vulnerability in ash-project ash widens a relationship's parent(...) scoping filter to match unintended records when the referenced parent field cannot be resolved.

Loading a relationship whose filter references parent(...) resolves that expression against the parent record. resolve_parent_in_filter/3 (lib/ash/actions/read/relationships.ex) resolved an unresolvable parent reference (for example when the referenced field was not selected on the source query) to nil rather than failing. A scoping predicate such as org_id == parent(org_id) then becomes an IS NULL match, and a guard like is_nil(parent(org_id)) or org_id == parent(org_id) activates its unrestricted branch, so the relationship returns records the scope was meant to exclude. The fix fails the read with an error when a parent(...) reference cannot be resolved, instead of defaulting to nil.

This issue affects ash: from 3.13.2 before 3.32.2.
Published: 2026-09-01
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability causes a relationship filter that references a parent record to resolve an unresolvable parent reference to nil instead of failing. When a filter condition such as org_id == parent(org_id) is used, the comparison becomes an IS NULL match, which satisfies the predicate and opens the scope to all records. As a result, a user can retrieve records that should have been excluded by the scopes, effectively leaking sensitive data. This flaw is an incorrect authorization weakness (CWE-863) with potential to compromise confidentiality of scoped records.

Affected Systems

The issue affects the Ash project’s Ash web framework. Versions 3.13.2 through 3.32.1 (inclusive) are impacted, while 3.32.2 and later contain the fix that causes the read to fail when a parent reference cannot be resolved.

Risk and Exploitability

With a CVSS score of 5.9, the vulnerability is considered moderate. EPSS is not available, and the vulnerability is not listed in CISA’s KEV catalog. The attack surface likely involves an authenticated user or an attacker who can construct a request to the framework’s API. By sending a query that includes an unresolved parent(...) reference, the attacker can trigger the widened filter and access records outside the intended scope. The lack of a mitigated error path in affected versions allows the exploit to succeed without additional prerequisites.

Generated by OpenCVE AI on September 1, 2026 at 05:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Ash framework to version 3.32.2 or later, which enforces an error when a parent reference cannot be resolved.
  • Review any custom relationship filters to ensure that parent(...) references are resolved or omitted; remove or correct unresolved references in application code.
  • Monitor application logs for “parent reference unresolved” errors to validate that the patched behavior is in effect and no unintended data leakage occurs.

Generated by OpenCVE AI on September 1, 2026 at 05:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 01 Sep 2026 04:00:00 +0000

Type Values Removed Values Added
Description Incorrect Authorization vulnerability in ash-project ash widens a relationship's parent(...) scoping filter to match unintended records when the referenced parent field cannot be resolved. Loading a relationship whose filter references parent(...) resolves that expression against the parent record. resolve_parent_in_filter/3 (lib/ash/actions/read/relationships.ex) resolved an unresolvable parent reference (for example when the referenced field was not selected on the source query) to nil rather than failing. A scoping predicate such as org_id == parent(org_id) then becomes an IS NULL match, and a guard like is_nil(parent(org_id)) or org_id == parent(org_id) activates its unrestricted branch, so the relationship returns records the scope was meant to exclude. The fix fails the read with an error when a parent(...) reference cannot be resolved, instead of defaulting to nil. This issue affects ash: from 3.13.2 before 3.32.2.
Title Ash relationship parent(...) filter degrades to an IS NULL match when the parent field is unresolved, leaking scoped records
First Time appeared Ash-project
Ash-project ash
Weaknesses CWE-863
CPEs cpe:2.3:a:ash-project:ash:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash
References
Metrics cvssV4_0

{'score': 5.9, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-09-01T03:54:12.716Z

Reserved: 2026-08-31T01:00:09.774Z

Link: CVE-2026-82749

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-01T04:18:05.340

Modified: 2026-09-01T04:18:05.340

Link: CVE-2026-82749

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-01T05:30:03Z

Weaknesses