CVE-2026-78216 AshLua eval read operations can read field-policy-protected fields via aggregates
- Exploited in the wild
- Not known
- Fix
- Available
What is CVE-2026-78216?
CVE-2026-78216 is a medium-severity vulnerability in ash-project ash_lua, published on 8 Sep 2026.
Official description
AshLua exposes Ash read actions to Lua scripts run through an eval action. A read call accepts an operation (list, min, max, first, sum, avg) that builds an ad-hoc Ash.Query.Aggregate over a named field and returns its raw value.
Ash field policies redact forbidden fields on returned records (replacing them with %Ash.ForbiddenField{}), but that redaction does not apply to aggregate values. A script could therefore read a field the calling actor's field policies forbid by requesting it as an aggregate instead of as a field. This includes fields that are public? true but restricted per-actor by a field policy, such as sensitive PII. The prior hardening only enforced the exposed-field allow-list (field visibility), which is a separate axis from per-actor field-policy authorization.
The fix authorizes the aggregated field against the resource's field policies, so aggregating over a field the actor may not see is refused or scoped to the rows where it is visible.
This issue affects ash_lua: from 0.1.0 before 0.2.2.
Weakness: CWE-1220
Which versions are affected by CVE-2026-78216?
1 open source package ship an affected version, including ash_lua.
| Package | Affected | Fixed in |
|---|---|---|
ash_lua Hex | From 0.1.0 | 0.2.2 |
How do I fix CVE-2026-78216?
Upgrade ash_lua to 0.2.2 or later.
Is CVE-2026-78216 being exploited?
There is no known exploitation of CVE-2026-78216 in the wild and no public exploit code.
Sources
Also known as EEF-CVE-2026-78216, GHSA-5whv-8rcp-x33j.