Description
Authorization Bypass Through User-Controlled Key vulnerability in ash-project ash_phoenix lets an attacker who controls filter form parameters filter across relationships the resource author marked non-public, turning the returned rows into a boolean oracle over private related data.

AshPhoenix.FilterForm resolved every relationship hop in the user-supplied path with Ash.Resource.Info.related/2, which traverses private relationships, and only checked the terminal field for publicity. parse_path_and_field/2 also rewrote a field naming a relationship into an extra path segment, so field=some_private_rel was accepted too. Both path and field come straight from form params, and the resulting ref went to Ash.Query.do_filter/2 without the public-only enforcement of Ash.Filter.parse_input/2. The fix resolves each hop with Ash.Resource.Info.public_relationship/2, rejecting the first non-public hop, and requires the terminal field to be public.

This issue affects ash_phoenix: from 0.6.0-rc.1 before 2.3.25.
Published: 2026-08-31
Score: 2.3 Low
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is an authorization bypass that lets an attacker, by controlling filter form parameters, traverse relationships marked as non‑public in the AshPhoenix application. This turns the query result into a boolean oracle that reveals the existence or absence of private related data, effectively disclosing sensitive information that should remain hidden. The flaw is rooted in the CWE‑639 weakness, where unchecked user input enables unauthorized data access.

Affected Systems

The impacted product is ash-project’s AshPhoenix framework. Versions from 0.6.0‑rc.1 up through the release preceding 2.3.25 are affected, as the fix was introduced in 2.3.25 to enforce public‑only relationship traversal. All deployments of AshPhoenix in those version ranges should be considered vulnerable.

Risk and Exploitability

The vulnerability carries a CVSS score of 2.3, indicating a low severity level, and its EPSS score is not available; it is not listed in the CISA KEV catalog. Nonetheless, because the flaw allows the extraction of private data by manipulating request parameters, an attacker could exploit it with a simple crafted HTTP request to the filter endpoint. The attack vector is client‑side input manipulation, requiring no additional privileges, and the impact is limited to accidental data leakage rather than a full denial of service or code execution.

Generated by OpenCVE AI on August 31, 2026 at 04:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to AshPhoenix version 2.3.25 or later, which restricts relationship traversal to public ones.
  • Reconfigure the application to validate filter fields against a whitelist of public relationships, ensuring no user input can reference private associations.
  • Conduct a security audit of custom filter implementations to identify and apply similar checks, preventing future authorization bypasses.

Generated by OpenCVE AI on August 31, 2026 at 04:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 03:30:00 +0000

Type Values Removed Values Added
Description Authorization Bypass Through User-Controlled Key vulnerability in ash-project ash_phoenix lets an attacker who controls filter form parameters filter across relationships the resource author marked non-public, turning the returned rows into a boolean oracle over private related data. AshPhoenix.FilterForm resolved every relationship hop in the user-supplied path with Ash.Resource.Info.related/2, which traverses private relationships, and only checked the terminal field for publicity. parse_path_and_field/2 also rewrote a field naming a relationship into an extra path segment, so field=some_private_rel was accepted too. Both path and field come straight from form params, and the resulting ref went to Ash.Query.do_filter/2 without the public-only enforcement of Ash.Filter.parse_input/2. The fix resolves each hop with Ash.Resource.Info.public_relationship/2, rejecting the first non-public hop, and requires the terminal field to be public. This issue affects ash_phoenix: from 0.6.0-rc.1 before 2.3.25.
Title AshPhoenix FilterForm allows filtering across non-public relationships, disclosing private related data
First Time appeared Ash-project
Ash-project ash Phoenix
Weaknesses CWE-639
CPEs cpe:2.3:a:ash-project:ash_phoenix:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Phoenix
References
Metrics cvssV4_0

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


Subscriptions

Ash-project Ash Phoenix
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-31T03:09:25.850Z

Reserved: 2026-08-31T00:59:08.960Z

Link: CVE-2026-82725

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-31T04:17:29.167

Modified: 2026-08-31T04:17:29.167

Link: CVE-2026-82725

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T04:30:18Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key