CVE-2026-82730
Received Received - Intake

Incorrect Authorization in ash_typescript Exposes Forbidden Attribute Values

Vulnerability report for CVE-2026-82730, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-01

Last updated on: 2026-09-01

Assigner: EEF

Description

Incorrect Authorization vulnerability in ash-project ash_typescript allows an unauthorized RPC caller to read attribute values that Ash field policies denied. When a field policy denies an attribute, Ash substitutes %Ash.ForbiddenField{}, which retains the real value in original_value because embedded resources must remain writable, and hides it from Inspect rather than removing it. AshTypescript.Rpc.ResultProcessor strips these markers to nil on its template-driven paths, but normalize_primitive/1 in lib/ash_typescript/rpc/result_processor.ex had no such clause, so a marker fell through to the generic struct branch which calls Map.from_struct/1 and serializes every key, original_value included. The denied value is returned to the caller inside the marker that represents its own denial. The simplest trigger is an action returning an embedded resource as a map, which routes through normalize_resource_struct/2 with an empty template. normalize_value_for_json/1 is a public, unguarded entry point to the same path. This issue affects ash_typescript: from 0.11.0 before 0.18.0.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-01
Last Modified
2026-09-01
Generated
2026-09-01
AI Q&A
2026-09-01
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ash-project ash_typescript From 0.11.0 (inc) to 0.18.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-863 The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is an Incorrect Authorization vulnerability in the ash_typescript library. When a field policy denies access to an attribute, Ash replaces it with a %Ash.ForbiddenField{} marker but retains the original value in an original_value field. The AshTypescript.Rpc.ResultProcessor failed to properly handle this marker during JSON serialization, causing it to expose the denied value in original_value when embedded resources are returned as maps.

Detection Guidance

To detect this vulnerability, check if your system uses ash_typescript versions between 0.11.0 and 0.18.0. Run: grep -r "ash_typescript" deps/ or mix deps.tree. If embedded resources return forbidden fields as maps, inspect RPC responses for %Ash.ForbiddenField{} markers containing original_value fields.

Impact Analysis

An unauthorized RPC caller could exploit this to read attribute values that Ash field policies were designed to deny. Attackers can access sensitive data meant to be restricted by calling an RPC action that returns an embedded value as a map, receiving the denied plaintext in original_value.

Mitigation Strategies

Upgrade ash_typescript to version 0.18.0 or later. If upgrading is not possible, apply the patch from the GitHub commit aa7f9f1967b0bec806ac1156142267e805d70a55 to lib/ash_typescript/rpc/result_processor.ex.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-82730. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart