Description
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_typescript allows an unauthenticated attacker to read internal Elixir terms from an RPC error response by provoking an error the error builder has no dedicated clause for.

AshTypescript.Rpc.ErrorBuilder.build_error_response/1 in lib/ash_typescript/rpc/error_builder.ex renders a pipeline error term that matches no specific clause with inspect/1 and places the result in details.error of the client-facing error. Ash exceptions take a separate path in AshTypescript.Rpc.Errors where unhandled cases are redacted behind an errorId, but these fallbacks have no redaction, so whatever the term carries reaches the HTTP or channel response. Two request paths hand it such terms: a struct-typed action argument with an invalid nested value, where cast_map_to_struct/2 in lib/ash_typescript/rpc/input_formatter.ex throws the raw Ash.Type cast error into the builder, and field selection on a generic action that returns a primitive, where format_field_type/1 inspects the full Ash.Info.Manifest.Type struct into vars.returnType. Resource module names in vars.resource are not treated as sensitive and are out of scope.

This issue affects ash_typescript: from 0.1.0 before 0.19.1.
Published: 2026-10-12
Score: 6.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch ASAP
AI Analysis

Impact

During RPC error handling, the error builder renders a pipeline error term that falls through to a generic clause and uses inspect/1. This places the raw Elixir term inside the error response, which exposes internal data to an unauthenticated client. The vulnerability falls under CWE‑209 and therefore discloses confidential information. The CVSS v3.1 score of 6.3 indicates a moderate impact that can compromise confidentiality but does not lead to code execution or denial of service.

Affected Systems

The affected product is ash-project’s ash_typescript. Version support ranges from 0.1.0 up to, but not including, 0.19.1. Any installation of ash_typescript in that range is vulnerable; newer releases contain the fix.

Risk and Exploitability

The EPSS score is not available, and the vulnerability is not listed in CISA’s KEV catalog, suggesting no widespread exploitation reports to date. However, an attacker can trigger the error by sending a malformed action argument or by requesting a field selection that triggers an unhandled cast error, so the exploit is straightforward once the target is connected. The risk is moderate: the attack requires an unsecured RPC interface and an ability to send crafted requests, but it does not require privileged access or credentials.

Generated by OpenCVE AI on October 12, 2026 at 12:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade ash-typescript to version 0.19.1 or later.
  • Validate or sanitize incoming action arguments to prevent casting errors that cause raw term exposure.
  • Implement additional error handling or use existing redaction mechanisms to escape or omit sensitive terms from client‑facing error responses.

Generated by OpenCVE AI on October 12, 2026 at 12:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 16 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 12 Oct 2026 11:30:00 +0000

Type Values Removed Values Added
Description Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_typescript allows an unauthenticated attacker to read internal Elixir terms from an RPC error response by provoking an error the error builder has no dedicated clause for. AshTypescript.Rpc.ErrorBuilder.build_error_response/1 in lib/ash_typescript/rpc/error_builder.ex renders a pipeline error term that matches no specific clause with inspect/1 and places the result in details.error of the client-facing error. Ash exceptions take a separate path in AshTypescript.Rpc.Errors where unhandled cases are redacted behind an errorId, but these fallbacks have no redaction, so whatever the term carries reaches the HTTP or channel response. Two request paths hand it such terms: a struct-typed action argument with an invalid nested value, where cast_map_to_struct/2 in lib/ash_typescript/rpc/input_formatter.ex throws the raw Ash.Type cast error into the builder, and field selection on a generic action that returns a primitive, where format_field_type/1 inspects the full Ash.Info.Manifest.Type struct into vars.returnType. Resource module names in vars.resource are not treated as sensitive and are out of scope. This issue affects ash_typescript: from 0.1.0 before 0.19.1.
Title Internal error terms inspected into AshTypescript RPC error responses
First Time appeared Ash-project
Ash-project ash Typescript
Weaknesses CWE-209
CPEs cpe:2.3:a:ash-project:ash_typescript:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Typescript
References
Metrics cvssV4_0

{'score': 6.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Ash-project Ash Typescript
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-10-16T16:53:18.072Z

Reserved: 2026-10-10T13:15:02.310Z

Link: CVE-2026-105283

cve-icon Vulnrichment

Updated: 2026-10-16T16:52:50.867Z

cve-icon NVD

Status : Deferred

Published: 2026-10-12T12:17:12.447

Modified: 2026-10-16T17:17:23.207

Link: CVE-2026-105283

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-12T12:30:12Z

Weaknesses
  • CWE-209

    Generation of Error Message Containing Sensitive Information