Live Exposure Defense: From CVE to Confirmed Exposure in 12 Hours – See more

New CVE Detected

CVE-2026-77856 – Unauthenticated Denial of Service via Atom Table Exhaustion – ash_typescript 0.11.0

Be the first to know when new zero-days emerge:

Summary

CVE-2026-77856 is a denial-of-service vulnerability in ash_typescript, an Elixir/Ash Framework library that generates TypeScript RPC clients. Unauthenticated attackers can crash an entire BEAM node by submitting crafted field-name requests that are converted into permanent, unbounded Erlang atoms before validation, eventually exhausting the VM’s atom table. The issue has a CVSS base score of 8.2 (High) and requires no authentication or user interaction to exploit.

Technical details

  • Root cause: The resolve_typed_struct_field/2 function in lib/ash_typescript/rpc/field_processing/field_selector.ex calls String.to_atom/1 to look up client-supplied field names on resources backed by Ash.TypedStruct, and does so before verifying that the field actually exists on the struct.
  • Why it’s exploitable: In the BEAM VM, atoms are never garbage-collected. Any distinct string converted via String.to_atom/1 permanently consumes atom table space (default limit ~1,048,576 atoms). By repeatedly sending unique, invalid field names, an attacker can drive the atom table to its limit.
  • Trigger conditions: The target application must expose at least one Ash RPC action operating on a resource that includes a field backed by Ash.TypedStruct.
  • Attack vector: Network-based (AV:N), low attack complexity, requires privileges (PR:N) — no authentication needed, and no user interaction is required.
  • Impact: Once the atom table is exhausted, the entire BEAM node crashes, causing a complete denial of service for every application running on that node (not just ash_typescript). Recovery requires a manual node restart.
  • Note: this issue was not fully addressed by an earlier, similar fix that targeted atom creation in field formatters; the typed-struct field resolution path was a separate, unpatched code path.

Affected software

  • ash_typescript versions 0.11.0 through 0.17.x (all versions prior to 0.18.0)

Severity

  • CVSS Score: 8.2 (High)
  • Vector (CVSS v4.0): CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
    (Note: the vendor advisory and CVE record publish this score using the CVSS v4.0 standard rather than v3.1.)

Mitigation and recommended actions

  • Immediate: Upgrade ash_typescript to version 0.18.0 or later, which validates field existence before any atom conversion occurs.
  • If immediate patching is not possible:
    • Restrict or disable public exposure of RPC actions on Ash resources containing Ash.TypedStruct-backed fields until the upgrade can be applied.
    • Monitor BEAM VM atom table usage (e.g., via :erlang.system_info(:atom_count)) and alert on abnormal growth as an early warning sign of exploitation attempts.
    • Apply rate limiting or WAF rules to RPC endpoints to reduce the volume of distinct field-name payloads an attacker can submit.

References

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

How IONIX’s External Exposure Management Platform Detects and Validates
Zero-Days to Shrink MTTR

1

Map your entire attack surface (continously)

IONIX uses multi-factor discovery methods, including DNS analysis, certificate mapping, metadata inspection, and more, to automatically map every internet-facing asset across your environment. This includes cloud instances, third-party platforms, shadow IT, and even forgotten infrastructure that traditional tools miss.

2

Monitor for new CVEs

Dozens of threat intel feeds using agentic technology are continuously analyzed to detect the appearance of proof-of-concept code, exploit kits, and indicators of active targeting. IONIX goes further by applying AI to proactively evaluate whether emerging vulnerabilities are likely to be exploited, even before PoCs go public.

3

Identify Potential External Exposures

Not all CVEs matter. IONIX filters vulnerabilities by asking attacker-centric questions: Can it be reached from the internet? Does it require authentication? Is it being exploited in the wild? This dramatically reduces noise and focuses teams on threats that can actually be weaponized.

4

Create Safe, Scalable Exploit Validations

IONIX transforms real-world PoCs into safe, non-intrusive test payloads that can be run in production environments without disruption. These simulations are precisely targeted to the systems that are vulnerable, ensuring rapid validation without unnecessary load.

5

Execute Exploit Validations

By combining context about software stack, versioning, exposure status, and reachability, IONIX ensures that only the right payloads are executed against the right assets, maximizing efficiency and minimizing risk.

6

Drive Fast and Actionable Remediation

Results are routed through integrations with ticketing, SOAR, and SIEM tools. Issues are written in plain language, bundled into remediation clusters, and prioritized based on asset criticality, exploitability, and blast radius. This shortens mean time to remediation (MTTR) and empowers teams to act with confidence.

Are you exposed?

Get a free report of your organization’s exposure to this CVE and threat

Subscribe to Threat Center RSS

Copy/paste the link below into your preferred RSS reader or follow these instructions to subscribe to Slack alerts.

Get Real-Time CVE Alerts to Your Email

Be the first to know when new zero-days emerge