Junglewise Threat Intelligence

CVE-2026-82749: Ash authorization bypass via unresolved parent filter reference

CVE-2026-82749 · Severity: info · CVSS 6.5 · Published 2026-09-01

Executive brief

Ash is a data layer and resource abstraction library used to build database-backed APIs in Elixir applications. A flaw in how the library resolves parent-field references in relationship filters causes it to return records that should be excluded by access controls. An attacker can bypass authorization scopes to access data they shouldn't be permitted to see.

Technical details

The vulnerability is an incorrect authorization flaw in the resolve_parent_in_filter/3 function (lib/ash/actions/read/relationships.ex). When loading a relationship with a scoping filter that references parent(...) expressions, the function incorrectly resolves unresolvable parent references to nil instead of failing. This causes scoping predicates such as org_id == parent(org_id) to become IS NULL matches, and guards like is_nil(parent(org_id)) or org_id == parent(org_id) to activate their unrestricted branches, returning records the scope was meant to exclude. The attack requires the referenced field to not be selected on the source query. The fix fails the read operation with an error when a parent(...) reference cannot be resolved, instead of defaulting to nil. No public exploits or wild exploitation have been reported.

Affected products

  • ash-project Ash 3.13.2 to 3.32.1

Timeline

  • 2026-09-01: disclosed
  • 2026-09-01: patched: Fixed in version 3.32.2

References