Read the docs

Unbounded atom creation in esaml SAML parsing crashes Erlang nodes

Priority HIGH 77CWE-770Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
No fix listed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-770.

Summary

The dropbox esaml library from 0.1.0 onward is affected. Its esaml_binding decode_response function parses SAML responses so that every element and attribute name becomes a permanent Erlang atom, with no limit (CWE-770). An unauthenticated remote attacker can send a crafted SAMLResponse to the SAML consume or single-logout endpoints, exhausting the atom table and crashing the node.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Description from the CNA

Allocation of Resources Without Limits or Throttling vulnerability in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted SAMLResponse. esaml_binding:decode_response/2 parses the decoded SAMLResponse with xmerl_scan:string/2, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node. This issue affects esaml: from 0.1.0 onward.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00531 45th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
dropboxesaml0.1.0 and later—No fix listedCNA
  • esaml Vendordropbox Affected 0.1.0 and later Fixed in — No fix listed CNA

CPE names CNA · 3

CPEVersionsRoleVendor
cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*——arekinath
cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*——handnot2
cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*——dropbox
  • cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:* Versions — — ·arekinath
  • cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:* Versions — — ·handnot2
  • cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:* Versions — — ·dropbox

Remediation

The sources list no fixed version for esaml.

Written with Claude Haiku 5.5 from the sources below · 2026-11-06

Timeline

  1. 2026-10-22 Threatist record created from CVE-2026-105270
  2. 2026-10-22 Alias added: GHSA-6m7w-85hw-3q64
  3. 2026-10-23 Priority changed: MEDIUM → LOW
  4. 2026-10-30 CISA SSVC decision points changed
  5. 2026-10-30 Priority changed: LOW → HIGH

References

  • TI-2026-79218 Unbounded SAML message decompression in esaml allows memory exhaustion CVSS 4.0HIGH 8.7
  • TI-2026-79217 Unbounded atom creation from unsigned LogoutResponse status codes in esaml allows atom table exhaustion CVSS 4.0HIGH 8.2
  • TI-2026-23003 XXE in esaml SAML library allows local file read and potential SSRF CVSS 4.0MEDIUM 6.3

Sources