CVE Catalog

CVE-2026-77856

HighCVSS 8.2
Published: Translated: NVD NIST

Summary

An allocation of resources without limits vulnerability in ash_typescript allows an unauthenticated attacker to exhaust the BEAM atom table and abort the node via client-supplied typed struct field names. The resolve_typed_struct_field/2 function uses String.to_atom/1 for unresolvable names, creating permanent atoms that are never garbage collected, leading to exceeding the limit and crash. This issue affects versions from 0.11.0 before 0.18.0.

Risk Assessment

An attacker could cause a denial of service (DoS) by sending many requests with unique field names, leading to service unavailability.

Recommendation

Update ash_typescript to version 0.18.0 or later. Limit the number of requests and input size.

Other vulnerabilities in ash_typescript

See all
Original NVD description (English source)

Allocation of Resources Without Limits or Throttling vulnerability in ash-project ash_typescript allows an unauthenticated attacker to exhaust the BEAM atom table and abort the node via client-supplied typed struct field names. resolve_typed_struct_field/2 in lib/ash_typescript/rpc/field_processing/field_selector.ex looks a client-supplied field name up in the typed struct's reverse map and, when it finds no match, falls back to String.to_atom/1. Because this runs before any field-existence check, an unresolvable name mints a permanent atom rather than being rejected as unknown. Atoms are never garbage collected, so a request carrying many distinct names on a typed struct field grows the atom table until the VM aborts at its limit. This issue affects ash_typescript: from 0.11.0 before 0.18.0.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS