CVE-2026-78216 json
AshLua eval read operations can read field-policy-protected fields via aggregates
published 2mo ago modified 2mo ago also EEF-CVE-2026-78216 , EUVD-2026-72931 , GHSA-5whv-8rcp-x33j
- cvss
- 6.0
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 37%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- hex ash_lua 0.2.2
- ash-project ash_lua 0.2.2
Is CVE-2026-78216 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.43% chance of exploitation in the next 30 days, higher than 37% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.0 | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ash_lua | >=0.1.0, <0.2.2 |
0.2.2 |
Affected products
- ash-project ash_lua
Classification
- Weakness
-
- CWE-1220 Insufficient Granularity of Access Control
References
-
github.com
/ash-project/ash_lua/commit/8675e47cca81f36594083a7e63379bac9e123e72
related, web
-
github.com
/ash-project/ash_lua/commit/266a5dcc56d5015b6d316c10606169e753b07450
patch
-
github.com
/ash-project/ash_lua/security/advisories/GHSA-5whv-8rcp-x33j
vendor-advisory, advisory
-
cna.erlef.org
/cves/CVE-2026-78216.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-78216
related
-
hex.pm
/packages/ash_lua
package
Sources
- CVE List CVE-2026-78216
- NVD CVE-2026-78216
- OSV EEF-CVE-2026-78216
- Maintainer advisory GHSA-5whv-8rcp-x33j
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of ash-project/ash_lua published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.