Atom table exhaustion via attacker-controlled GraphQL SDL names in absinthe
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-770.
Summary
Allocation of Resources Without Limits or Throttling vulnerability in absinthe-graphql absinthe allows unauthenticated denial of service via atom table exhaustion when parsing attacker-controlled GraphQL SDL. Multiple Blueprint.Draft.convert/2 implementations in Absinthe's SDL language modules call String.to_atom/1 on attacker-controlled names from parsed GraphQL SDL documents, including directive names, field names, type names, and argument names. Because atoms are never garbage-collected and the BEAM atom table has a fixed limit (default 1,048,576), each unique name permanently consumes one slot. An attacker can exhaust the atom table by submitting SDL documents containing enough unique names, causing the Erlang VM to abort with system_limit and taking down the entire node. Any application that passes attacker-controlled GraphQL SDL through Absinthe's parser is exposed — for example, a schema-upload endpoint, a federation gateway that ingests remote SDL, or any developer tool that runs the parser over user-supplied documents. This issue affects absinthe: from 1.5.0 before 1.10.2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| absinthe-graphql | absinthe | 1.5.0 to before 1.10.2 | 1.10.2 | Patch available | CNA |
| — | absinthe (Hex) | 1.5.0 to before 1.10.2 | 1.10.2 | Patch available | GHSA-qf4g-9fqq-mmm7 |
- absinthe Vendorabsinthe-graphql Affected 1.5.0 to before 1.10.2 Fixed in 1.10.2 Patch available CNA
- absinthe (Hex) Vendor— Affected 1.5.0 to before 1.10.2 Fixed in 1.10.2 Patch available GHSA-qf4g-9fqq-mmm7
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:absinthe-graphql:absinthe:*:*:*:*:*:*:*:* | after 1.5.0, before 1.10.2 | Vulnerable | absinthe-graphql |
- cpe:2.3:a:absinthe-graphql:absinthe:*:*:*:*:*:*:*:* Versions after 1.5.0, before 1.10.2 Vulnerable ·absinthe-graphql
Remediation
- Fix · CNA absinthe (absinthe-graphql) Fixed in 1.10.2
- Fix · GHSA-qf4g-9fqq-mmm7 absinthe (Hex) Fixed in 1.10.2 Advisory →
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
absinthe-graphql absinthe 1.10.2
2 records Highest priority Priority MEDIUM 1 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2026-32012 Quadratic fragment-name uniqueness check causes denial of service in absinthePriority MEDIUM 45
Timeline
- 2026-10-02 Threatist record created from CVE-2026-42793
- 2026-10-03 Alias added: GHSA-qf4g-9fqq-mmm7
- 2026-10-25 EPSS moved to the below the 50th percentile
References
Advisory 3
More absinthe-graphql Absinthe vulnerabilities
- TI-2026-32012 Quadratic fragment-name uniqueness check causes denial of service in absinthe CVSS 4.0HIGH 8.7
Sources
- CVE-2026-42793 · CVE Program
- CVE-2026-42793 · NVD
- FIRST EPSS
- GHSA-qf4g-9fqq-mmm7 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences