Skip to content
Heist/ feed
Medium

Internal error terms inspected into AshTypescript RPC error responses

Type: advisorySource: Official CVE List1 source record

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.

Announced Group revision 1
Original source ↗

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
Read the original announcement