CVE-2026-78216

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

State
Published
Severity
6.0 Medium
Published
Sep 8, 2026
Updated
Sep 8, 2026
Reserved
Aug 31, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.06.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-1220 Insufficient Granularity of Access Control

Affected Products

ProductVersions
ash_luaash-project
  • 0.1.0 to before 0.2.2Affected
ash_luaash-project
  • 8675e47cca81f36594083a7e63379bac9e123e72 to before 266a5dcc56d5015b6d316c10606169e753b07450Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.