# CVE-2026-86338: Ash field_policies authorization bypass in calculations and aggregates

Source: https://junglewise.ai/threats/cve-2026-86338-ash-field-policies-authorization-bypass-in-calculations-and  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-16. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-86338 · Severity: info · Published 2026-09-16

Ash is a framework for building data applications with built-in access controls. A flaw in its field-level access policies allows actors to bypass authorization and discover protected field values through strategic filtering of calculations and aggregates. An attacker with filter access can probe protected fields one value at a time, circumventing security controls meant to hide sensitive data from lower-privileged users.

## Quick answers

**Is CVE-2026-86338 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-86338 being exploited in the wild.

**How severe is CVE-2026-86338?** Informational severity, published 16 September 2026.

**Which products and versions are affected?** Ash Ash from 2.11.0-rc.0 before 3.33.4.

**Is there a fix for CVE-2026-86338?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-86338 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-86338?** Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is an authorization bypass in Ash's field_policies authorization layer. Field policies are designed to nil out references to fields an actor cannot see when they appear in filter expressions, preventing information disclosure through filtering. However, this nilling was only applied to attributes but not to calculations or aggregates. When a filter references a calculation or aggregate, the authorizer receives an Ash.Query.Calculation or Ash.Query.Aggregate struct instead of an Ash.Resource.* struct, which the reference replacement logic did not match. This allows the filter to run against the real value, enabling an attacker to use filter expressions like `filter(secret_calc == "x")` as an oracle to recover protected values. The fix applies the same field-policy nilling logic to calculations and aggregates as to attributes.

## Affected products

- Ash Ash from 2.11.0-rc.0 before 3.33.4

## Timeline

- 2026-09-16: disclosed

## References

- [https://repo.hex.pm/](https://repo.hex.pm/)
- [https://github.com/](https://github.com/)
