EEF-CVE-2026-78216

    Dashboard / Vulnerabilities / EEF-CVE-2026-78216

    EEF-CVE-2026-78216

    Published: 8 Sept 2026Last Modified: 8 Sept 2026

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

    Details: ## 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 packages

    Package

    Name: ash_lua

    Purl: pkg:hex/ash_lua

    Affected ranges

    Type: SEMVER

    Events:

    Introduced- 0.1.0
    Fixed -0.2.2

    Affected versions

    0.1.0
    0.1.1
    0.1.2
    0.1.3
    0.1.4
    0.1.5
    0.1.6

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    EEF-CVE-2026-78216 | CVE-DB