EEF-CVE-2026-78216 CVE-2026-78216 GHSA-5whv-8rcp-x33j
AshLua eval read operations can read field-policy-protected fields via aggregates
- Severity
- 0.0 / 10
- Unknown · CVSS 4.0
- Exploit chance (EPSS)
- 0.43%
- Chance of exploitation in the next 30 days. Higher than 37.03% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-1220 Insufficient Granularity of Access Control
- Fix
0.2.2- Upgrade ash_lua to this version or later
Description
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.
Configurations
Reachable only when an application exposes an AshLua eval action over a resource whose field policies restrict a field that the calling actor can still name as an operation aggregate (for example a public? true but field-policy-protected attribute).
Affected versions
Hex
| Package | Vulnerable | Fixed in |
|---|---|---|
| ash_lua | >= 0.1.0, < 0.2.2 |
0.2.2 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
ash_lua Hex → 0.2.2
- mix
{:ash_lua, "~> 0.2.2"} # then: mix deps.update ash_lua
Severity breakdown
CVSS 4.0 0.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
- Attack vector
- Network
- Attack complexity
- Low
- Attack requirements
- Present
- Privileges required
- Low
- User interaction
- None
- Confidentiality (vulnerable system)
- High
- Integrity (vulnerable system)
- None
- Availability (vulnerable system)
- None
- Confidentiality (subsequent systems)
- None
- Integrity (subsequent systems)
- None
- Availability (subsequent systems)
- None
Weakness
CWE-1220: Insufficient Granularity of Access Control
The product implements access controls via a policy or other feature with the intention to disable or restrict accesses (reads and/or writes) to assets in a system from untrusted agents. However, implemented access controls lack required granularity, which renders the control policy too broad because it allows accesses from unauthorized agents to the security-sensitive assets.
How to prevent it
- Architecture and Design, Implementation, Testing: Access-control-policy protections must be reviewed for design inconsistency and common weaknesses. Access-control-policy definition and programming flow must be tested in pre-silicon, post-silicon testing.
References
Advisories
Fixes and patches
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| EEF-CVE-2026-82586 AshLua read operation aggregate bypasses the exposed-field allow-list, exposing private attributes | Not rated yet | Also affects ash_lua |
| DRUPAL-CONTRIB-2026-167 The Webform module enables site builders to create forms and collect submissions. | Medium | Same weakness, CWE-1220 |
| EEF-CVE-2026-86338 Ash field policies do not filter-nil forbidden calculations and aggregates, enabling an information-disclosure oracle | Not rated yet | Same weakness, CWE-1220 |
| EEF-CVE-2026-78230 AshAi aggregate tool can read field-policy-protected fields | Not rated yet | Same weakness, CWE-1220 |
| CVE-2026-56155 Insufficient granularity of access control in Active Directory Federation Services (AD FS) allows an authorized attacker to elevate privileges locally. | High Known exploited | Same weakness, CWE-1220 |
| GHSA-6g26-7cx5-mrrg Keycloak: Information disclosure due to user profile permission bypass | Low | Same weakness, CWE-1220 |
| GHSA-8c7q-86fq-vvmh MLflow allows unauthorized access to multipart upload endpoints when the `--serve-artifacts` mode is enabled | Critical | Same weakness, CWE-1220 |
| GHSA-933f-rg6j-f46p Keycloak Account Resources user lookup contains broken access control | Medium | Same weakness, CWE-1220 |
Credits: Aaron Hong / Remedy, Jonatan Männchen / EEF, Zach Daniel / Ash Project
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor