Description
Incorrect Authorization vulnerability in ash-project ash returns records that a runtime read policy denies to any actor.

When a resource has an access_type :runtime read policy (a check evaluated per record rather than compiled to a filter), Ash.Policy.Authorizer decides each record in check_result/1 (lib/ash/policy/authorizer/authorizer.ex) by discarding impossible policy scenarios and inspecting what remains. When every scenario for a record was impossible, meaning no policy can authorize it and it must be forbidden, the empty-scenario branch instead kept the record ({[record | data], authorizer, any_forbidden?}) and returned it as authorized. As a result, records the runtime read policy denies are returned to any actor. The fix forbids a record whose scenarios are all impossible.

This issue affects ash: from 3.4.44 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

A logic flaw in Ash.Policy.Authorizer causes the system to return records that a runtime read policy denies to any actor. The code path that handles empty‑scenario branches mistakenly treats records with no valid policy scenarios as authorized instead of forbidden. Consequently, records that should be inaccessible are delivered to users, exposing sensitive data. This is a classic authorization bypass flaw classified as CWE‑863, leading to a confidentiality breach risk where attackers or misconfigured actors can gain access to data they should not see.

Affected Systems

The vulnerability affects the Ash framework from version 3.4.44 up through before 3.32.2. All installations of ash-project:ash that have not been upgraded to 3.32.2 or later are impacted.

Risk and Exploitability

The CVSS score of 5.9 indicates moderate severity. EPSS is not available, and the vulnerability is not listed in the CISA KEV catalog, suggesting no widely known public exploits as of this analysis. The likely attack vector appears to be any actor who can enact a query that uses a runtime read policy; no special privilege is required beyond access to the application. Because the flaw allows unauthorized data retrieval, the impact is serious for confidentiality, though the exploitation path is straightforward once access to the application is gained.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Ash framework to version 3.32.2 or newer to apply the authorization fix.
  • Restart all services that depend on Ash so the updated code takes effect.
  • Verify that policy enforcement behaves as expected by running regression tests or auditing API responses to ensure denied records are no longer returned.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

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

Type Values Removed Values Added
Description Incorrect Authorization vulnerability in ash-project ash returns records that a runtime read policy denies to any actor. When a resource has an access_type :runtime read policy (a check evaluated per record rather than compiled to a filter), Ash.Policy.Authorizer decides each record in check_result/1 (lib/ash/policy/authorizer/authorizer.ex) by discarding impossible policy scenarios and inspecting what remains. When every scenario for a record was impossible, meaning no policy can authorize it and it must be forbidden, the empty-scenario branch instead kept the record ({[record | data], authorizer, any_forbidden?}) and returned it as authorized. As a result, records the runtime read policy denies are returned to any actor. The fix forbids a record whose scenarios are all impossible. This issue affects ash: from 3.4.44 before 3.32.2.
Title Ash.Policy.Authorizer returns records denied by a runtime read policy to any actor
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-01T04:14:57.840Z

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

Link: CVE-2026-82747

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-01T05:17:10.430

Modified: 2026-09-01T05:17:10.430

Link: CVE-2026-82747

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses