Skip to content

EEF-CVE-2026-78216 CVE-2026-78216 GHSA-5whv-8rcp-x33j

AshLua eval read operations can read field-policy-protected fields via aggregates

Not rated yet Hex
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

PackageVulnerableFixed 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

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy 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

Is this in your code?

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