Vulnerability advisory

EEF-CVE-2026-82725

AshPhoenix FilterForm allows filtering across non-public relationships, disclosing private related data

Published Updated OSV record ↗

Also known as CVE-2026-82725GHSA-7xhg-xphm-f458

Severity
  • CVSS 4.0CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Affected versions

Repository

Affected commitsFixed by commit
GIT github.com/ash-project/ash_phoenix ↗
06875682999938f607c970e71b6a80af90e18b3d to before a3691a3cb0947e8f2dc2c3cbff138a3e6197a15ba3691a3cb0947e8f2dc2c3cbff138a3e6197a15b
Also listed as affected (120)
  • v2.3.24
  • v2.3.23
  • v2.3.22
  • v2.3.21
  • v2.3.20
  • v2.3.19
  • v2.3.18
  • v2.3.17
  • v2.3.10
  • v2.3.16
  • v2.3.15
  • v2.3.14
  • v2.3.13
  • v2.3.12
  • v2.3.11
  • v2.3.9
  • v2.3.8
  • v2.3.7
  • v2.3.6
  • v2.3.5
  • v2.3.4
  • v2.3.3
  • v2.3.2
  • v2.3.1
  • v2.3.0
  • v2.2.0
  • v2.1.26
  • v2.1.25
  • v2.1.24
  • v2.1.23
  • v2.1.22
  • v2.1.21
  • v2.1.20
  • v2.1.19
  • v2.1.18
  • v2.1.17
  • v2.1.16
  • v2.1.15
  • v2.1.14
  • v2.1.12
  • v2.1.11
  • v2.1.10
  • v2.1.9
  • v2.1.8
  • v2.1.7
  • v2.1.6
  • v2.1.5
  • v2.1.4
  • v2.1.3
  • v2.1.1
  • v2.0.3
  • v2.0.2
  • v2.0.1
  • v2.0.0-rc.8
  • v2.0.0-rc.7
  • v2.0.0-rc.6
  • v2.0.0-rc.5
  • v2.0.0-rc.4
  • v2.0.0-rc.3
  • v2.0.0-rc.2
  • v2.0.0-rc.1
  • v2.0.0-rc.0
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
  • v1.3.0
  • v1.2.26
  • v1.2.25
  • v1.2.24
  • v1.2.23
  • v1.2.22
  • v1.2.21
  • v1.2.20
  • v1.2.19
  • v1.2.18
  • v1.2.17
  • v1.2.16
  • v1.2.15
  • v1.2.14
  • v1.2.13
  • v1.2.12
  • v1.2.11
  • v1.2.10
  • v1.2.9
  • v1.2.8
  • v1.2.7
  • v1.2.6
  • v1.2.5
  • v1.2.4
  • v1.2.3
  • v1.2.2
  • v1.2.1
  • v1.2.0
  • v1.1.2
  • v1.1.1
  • v1.1.0
  • v1.1.0-rc.3
  • v1.1.0-rc.2
  • v1.1.0-rc.1
  • v1.1.0-rc.0
  • v1.0.0-rc.1
  • v1.0.0-rc.0
  • v0.7.7
  • v0.7.6-rc.0
  • v0.7.5
  • v0.7.4
  • v0.7.3
  • v0.7.2-rc.2
  • v0.7.2-rc.1
  • v0.7.2-rc.0
  • v0.7.1
  • v0.7.0
  • v0.6.0-rc.7
  • v0.6.0-rc.6
  • v0.6.0-rc.5
  • v0.6.0-rc.4
  • v0.6.0-rc.3
  • v0.6.0-rc.2
  • v0.6.0-rc.1

Description

Summary

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.

Configurations

The resource exposes an AshPhoenix.FilterForm whose params the attacker controls, and has a non-public relationship to data that should not be filterable.

References

  • Codex
  • Claude Code
  • VS Code
  • GitHub Copilot
  • Cursor
  • Cline
  • Windsurf
  • Google Anti-gravity
  • OpenCode
  • Pi
  • Gemini CLI
  • Hermes Agent
  • Zed
  • Junie
  • Qwen Code
  • Kiro
  • Kilo Code
  • Factory Droid

Set up GitHits for your agents

Run this command:

<> bash
npx githits@latest init

What happens next:

  1. Opens your browser to authorize GitHits
  2. Asks whether to set up GitHits at the user or project level
  3. Detects your supported AI coding tools
  4. Lets you choose which tools to configure
  5. Configures the selected tools