Track vulnerabilities like this one. Sign up free to get alerted when software you use is affected.
8.3

CVE-2026-74837: AshTypescript can run out of memory via field names

CVE-2026-74837 · published 2 months ago
Summary

The AshTypescript library turns any field name sent by a client into a permanent identifier inside the system. An attacker could send many different names, causing the system to run out of these identifiers and shut down. Update AshTypescript to version 0.18.0 or later to stop this behavior.

What to do
  • Update ash-project ash_typescript to version 0.18.0.
Affected software
Ecosystem VendorProductAffected versions
– ash-project ash_typescript < 0.18.0
< df95df4b9afdca5e5bbce32dbd566ccc49a7f14b
Hex ash-project ash_typescript >= 0.1.0, < 0.18.0
Fix: upgrade to 0.18.0
Original advisory text
Unbounded atom creation from client-supplied RPC field names in AshTypescript field formatter
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 RPC field names.

AshTypescript.FieldFormatter.convert_to_field_atom/2 in lib/ash_typescript/field_formatter.ex converts a client-supplied field name to an atom with String.to_atom/1 when no matching atom already exists. It delegates first to parse_input_field/2, which resolves the name with String.to_existing_atom/1 and falls back to returning the plain string; convert_to_field_atom/2 then mints an atom from that string rather than treating the name as unknown.

RPC field selection reaches it for every requested field name through AshTypescript.Rpc.FieldProcessing.FieldSelector, which resolves each name before checking that the field exists, with no allowlist, length bound, or rate limit. Atoms are never garbage collected, so each distinct name mints a permanent one and the VM aborts once the atom table limit is reached. A field name over 255 characters additionally raises an uncaught SystemLimitError.

This issue affects ash_typescript: from 0.1.0 before 0.18.0.
Fix within
Internet-facing 14 days
Internal 60 days
  • Not known to be exploited
  • Can be exploited automatically
  • Gives an attacker partial control
Severity
8.3 High
Exploitation
<1% chance of attack within 30 days
Type
CWE-770Allocation of Resources Without Limits
Timeline
Published1 Sep 2026
Updated4 Nov 2026
First seen1 Sep 2026
Track software like this
Free during beta