Vulnerability advisory

CVE-2026-82725

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

Published Updated OSV record ↗

Also known as EEF-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
81ce20f363ad0904b61fcd893e1bb10c5966a87d to before 1e38e7dc8838426cc94656238d9208759c661c031e38e7dc8838426cc94656238d9208759c661c03
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

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.

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