Internal error terms inspected into AshTypescript RPC error responses
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.
CVE-2026-105283
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-105283
ash_typescript
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
ash_typescript
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"cpes": [
"cpe:2.3:a:ash-project:ash_typescript:*:*:*:*:*:*:*:*"
],
"repo": "https://github.com/ash-project/ash_typescript",
"vendor": "ash-project",
"modules": [
"'Elixir.AshTypescript.Rpc.ErrorBuilder'",
"'Elixir.AshTypescript.Rpc.InputFormatter'",
"'Elixir.AshTypescript.Rpc'"
],
"product": "ash_typescript",
"versions": [
{
"status": "affected",
"version": "0.1.0",
"lessThan": "0.19.1",
"versionType": "semver"
}
],
"packageURL": "pkg:hex/ash_typescript",
"packageName": "ash_typescript",
"programFiles": [
"lib/ash_typescript/rpc/error_builder.ex",
"lib/ash_typescript/rpc/input_formatter.ex",
"lib/ash_typescript/rpc.ex"
],
"collectionURL": "https://repo.hex.pm",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "'Elixir.AshTypescript.Rpc.ErrorBuilder':build_error_response/1"
},
{
"name": "'Elixir.AshTypescript.Rpc.ErrorBuilder':format_field_type/1"
},
{
"name": "'Elixir.AshTypescript.Rpc.InputFormatter':cast_map_to_struct/2"
},
{
"name": "'Elixir.AshTypescript.Rpc':run_action/3"
},
{
"name": "'Elixir.AshTypescript.Rpc':validate_action/3"
}
]
},
{
"cpes": [
"cpe:2.3:a:ash-project:ash_typescript:*:*:*:*:*:*:*:*"
],
"repo": "https://github.com/ash-project/ash_typescript",
"vendor": "ash-project",
"modules": [
"'Elixir.AshTypescript.Rpc.ErrorBuilder'",
"'Elixir.AshTypescript.Rpc.InputFormatter'",
"'Elixir.AshTypescript.Rpc'"
],
"product": "ash_typescript",
"versions": [
{
"status": "affected",
"version": "8e204ce34e24a158cf22a2dac4d53c44716c9e30",
"lessThan": "4b3c65203ee78dc992d6d2e6559625c5460a01cd",
"versionType": "git"
}
],
"packageURL": "pkg:github/ash-project/ash_typescript",
"packageName": "ash-project/ash_typescript",
"programFiles": [
"lib/ash_typescript/rpc/error_builder.ex",
"lib/ash_typescript/rpc/input_formatter.ex",
"lib/ash_typescript/rpc.ex"
],
"collectionURL": "https://github.com",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "'Elixir.AshTypescript.Rpc.ErrorBuilder':build_error_response/1"
},
{
"name": "'Elixir.AshTypescript.Rpc.ErrorBuilder':format_field_type/1"
},
{
"name": "'Elixir.AshTypescript.Rpc.InputFormatter':cast_map_to_struct/2"
},
{
"name": "'Elixir.AshTypescript.Rpc':run_action/3"
},
{
"name": "'Elixir.AshTypescript.Rpc':validate_action/3"
}
]
}
]- Related CVEs
- CVE-2026-105283
Source reference:
/cveMetadata/cveId
Publisher severity
medium
Source reference: /containers/cna/metrics
- Event
- #32747 · Revision 1
- Added to Heist Feed
- Publisher date