CVE-2026-105283: Internal error terms inspected into AshTypescript RPC error responses

Published Oct 12, 2026
·
Updated

Generation of Error Message Containing Sensitive Information vulnerability in ash-project ashtypescript 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.builderrorresponse/1 in lib/ashtypescript/rpc/errorbuilder.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 castmaptostruct/2 in lib/ashtypescript/rpc/inputformatter.ex throws the raw Ash.Type cast error into the builder, and field selection on a generic action that returns a primitive, where formatfieldtype/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 ashtypescript: from 0.1.0 before 0.19.1.

Affected Software

1 affected component
hex/ash_typescript>=0.1.0<0.19.1

Event History

Oct 12, 2026
CVE Published
via MITRE·11:16 AM
Data Sourced
via MITRE·11:16 AM
DescriptionWeakness
Data Sourced
via NVD·12:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What does an attacker need to exploit this issue?

An attacker does not need authentication or user interaction. They must be able to send RPC requests that trigger an unhandled error-builder fallback, such as an invalid nested value for a struct-typed action argument or field selection on a generic action returning a primitive.

2

Which deployments are exposed?

Deployments exposing AshTypescript RPC over HTTP or channels are exposed when those request paths are reachable by an unauthenticated attacker. The affected fallback places inspected internal terms directly in client-facing response fields.

3

What information can be disclosed?

The response can include the inspected raw pipeline error term in details.error, or a full Ash.Info.Manifest.Type struct in vars.returnType. The exact data disclosed depends on what the unhandled term carries; resource module names in vars.resource are explicitly not considered sensitive in the advisory description.

4

How can I check whether an instance is affected?

Review RPC error responses generated by invalid nested values supplied to struct-typed action arguments and by field selection on generic actions returning primitives. An affected instance returns internal inspected terms rather than redacting the error behind an errorId.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203