CVE-2026-78230: CWE-1220 Insufficient Granularity of Access Control in ash-project ash_ai
Description
AshAi exposes Ash read actions to language-model tool calls. The read tool accepts an aggregate result type (min, max, 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 tool caller could therefore read a field the calling actor's field policies forbid by requesting it as an aggregate; min/max in particular return an actual field value. This includes fields that are public? true but restricted per-actor by a field policy, such as sensitive PII. The tool's existing check only required the field to be public, 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_ai: from 0.1.0 before 1.0.3.
CVSS v4.0
Score 6.0medium
Affected software
ash-project
ash_ai
ash-project
ash_ai
cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
AshAi exposes read actions to language-model tool calls that accept aggregate result types (min, max, sum, avg) over named fields. While field policies redact forbidden fields in returned records, this redaction does not apply to aggregate values, allowing callers to read fields forbidden by their per-actor policies by requesting aggregates. The existing check only required the field to be public, ignoring per-actor restrictions. The vulnerability affects ash_ai versions from 0.1.0 before 1.0.3. The fix enforces authorization of aggregated fields against resource field policies, refusing or scoping aggregates to visible rows.
Potential Impact
Actors with limited field access can bypass per-actor field policy restrictions by requesting aggregate values, potentially exposing sensitive or restricted information such as personally identifiable information (PII). This undermines the intended access control granularity and confidentiality of sensitive data within ash_ai deployments running affected versions.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix authorizes aggregated fields against field policies to prevent unauthorized access. Users should upgrade to ash_ai version 1.0.3 or later once available. Until then, restrict access to affected versions and monitor for updates from the vendor.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-08-31T00:45:02.439Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6aa03d69acd9273b49f0b3fa
Added to database: 09/08/2026, 16:52:57 UTC
Last enriched: 09/08/2026, 17:08:23 UTC
Last updated: 10/23/2026, 15:10:15 UTC
Views: 93
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.