CVE-2026-74837
Received Received - Intake

Allocation of Resources Without Limits in ash_typescript

Vulnerability report for CVE-2026-74837, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-01

Last updated on: 2026-09-01

Assigner: EEF

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-01
Last Modified
2026-09-01
Generated
2026-09-01
AI Q&A
2026-09-01
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
ash-project ash_typescript From 0.1.0 (inc) to 0.18.0 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-770 The product allocates a reusable resource or group of resources on behalf of an actor without imposing any intended restrictions on the size or number of resources that can be allocated.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is an allocation of resources without limits or throttling issue in the ash_typescript library. An unauthenticated attacker can send specially crafted RPC field names to exhaust the BEAM atom table, causing the node to crash. The flaw occurs because client-supplied field names are converted to atoms using String.to_atom/1, which creates permanent atoms that are never garbage collected. The RPC field selection process allows unlimited unique field names without checks, leading to atom table exhaustion.

Detection Guidance

Monitor for excessive atom creation in the BEAM VM by checking atom table usage with Erlang commands like 'erlang:memory(atom)'. Look for repeated crashes or high memory usage in ash_typescript applications. Check logs for 'system_limit' errors or node aborts.

Impact Analysis

This vulnerability can cause a denial of service by crashing the BEAM node, making all hosted applications unavailable until a restart. An attacker can exploit it remotely without authentication by sending many distinct field names, especially those over 255 characters which trigger additional errors. Systems running affected versions of ash_typescript are vulnerable if they expose AshTypescript RPC endpoints.

Mitigation Strategies

Upgrade ash_typescript to version 0.18.0 or later immediately. If upgrading is not possible, restrict access to AshTypescript RPC endpoints or disable them entirely. Implement rate limiting and input validation for field names.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-74837. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart