Am I affected?

type your ash_typescript version to check

Description

Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_typescript allows an unauthenticated attacker to receive unredacted internal error data by provoking an error shape the configured error handler does not match.

apply_error_handler/3 in lib/ash_typescript/rpc/errors.ex is the only hook an application has for redacting or suppressing errors before they reach the client, with a nil return dropping the error entirely. Its rescue clause logs a warning and then returns the original, pre-handler error map. Error handlers are conventionally written as pattern-matching functions over expected error shapes, so an unmatched shape raises FunctionClauseError and the raw transformed error, including any secrets carried in vars, is emitted instead. An intent to suppress an error becomes an intent to publish it. The rescue catches exceptions only, so a handler that throws or exits still propagates.

This issue affects ash_typescript: from 0.8.0 before 0.18.0.

Weaknesses & attack patterns

Weakness

CWE-209 · Generation of Error Message Containing Sensitive Information in catalog → MITRE ↗

Attack patterns

CAPEC-54 · Query System for Information MITRE ↗

Affected — Hex / ash_typescript Hex.pm ↗ Repository ↗

0.8.0 < 0.18.0 affected
every other version: unaffected
cpe cpe:2.3:a:ash-project:ash_typescript:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.AshTypescript.Rpc.Errors'
source files lib/ash_typescript/rpc/errors.ex
routines 'Elixir.AshTypescript.Rpc.Errors':apply_error_handler/3 · 'Elixir.AshTypescript.Rpc.Errors':to_errors/5

Affected — GitHub / ash-project/ash_typescript Repository ↗

cb01cc8 < 59d8e98 affected
every other version: unaffected
cpe cpe:2.3:a:ash-project:ash_typescript:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.AshTypescript.Rpc.Errors'
source files lib/ash_typescript/rpc/errors.ex
routines 'Elixir.AshTypescript.Rpc.Errors':apply_error_handler/3 · 'Elixir.AshTypescript.Rpc.Errors':to_errors/5

Configurations

The application exposes an AshTypescript RPC endpoint over HTTP and configures a custom error_handler in its typescript_rpc domain section for redaction or suppression.

References

Credits

Peter Ullrich Finder Reporter
Torkild Gundersen Kjevik / Ash Project Remediation developer
Jonatan Männchen / EEF Coordinator

CVSS breakdown

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
« All CVEs