CVE-2026-77856 json
Unbounded atom creation from typed struct field names in AshTypescript field selector
published 2mo ago modified 2mo ago also EEF-CVE-2026-77856 , EUVD-2026-68924 , GHSA-rj47-h936-4cxw
- cvss
- 8.2
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- hex ash_typescript 0.18.0
- ash-project ash_typescript 0.18.0
Is CVE-2026-77856 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2mo ago
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/ash-project/ash_typescript/security/advisories/GHSA-rj47-h936-4cxw referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.2 | 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 |
| CNA | 4.0 | 8.2 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ash_typescript | >=0.11.0, <0.18.0 |
0.18.0 |
Affected products
- ash-project ash_typescript
Classification
- Weakness
-
- CWE-770 Allocation of Resources Without Limits or Throttling
References
-
github.com
/ash-project/ash_typescript/commit/0ab5c83a7df28d51a6de1fb9b859a142b2b12919
patch
-
github.com
/ash-project/ash_typescript/security/advisories/GHSA-rj47-h936-4cxw
related, vendor-advisory, exploit, advisory
-
cna.erlef.org
/cves/CVE-2026-77856.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-77856
related
-
hex.pm
/packages/ash_typescript
package
Sources
- CVE List CVE-2026-77856
- NVD CVE-2026-77856
- OSV EEF-CVE-2026-77856
- Maintainer advisory GHSA-rj47-h936-4cxw
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of ash-project/ash_typescript published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.