---
id: CVE-2026-105270
title: >-
  Unbounded atom creation while parsing SAML messages in esaml allows atom table
  exhaustion
summary: >-
  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:dec…
severity: high
cvss: 8.7
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-770
vendor: arekinath
product: arekinath/esaml
affected:
  - arekinath/esaml >= deeb84378d5c82153b470e99d24f77c38afca14a < *
  - handnot2/esaml >= deeb84378d5c82153b470e99d24f77c38afca14a < *
  - esaml >= 0.1.0 < *
  - dropbox/esaml >= deeb84378d5c82153b470e99d24f77c38afca14a < *
published: '2026-10-22'
updated: '2026-10-22'
sourceUpdated: '2026-10-22T06:58:43.034Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-105270'
references:
  - url: 'https://cna.erlef.org/cves/CVE-2026-105270.html'
    label: EEF CNA record for CVE-2026-105270
  - url: 'https://osv.dev/vulnerability/EEF-CVE-2026-105270'
    label: OSV record EEF-CVE-2026-105270
  - url: >-
      https://github.com/arekinath/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a
    label: Introducing commit deeb843 in arekinath/esaml
  - url: >-
      https://github.com/handnot2/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a
    label: Introducing commit deeb843 in handnot2/esaml
  - url: >-
      https://github.com/dropbox/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a
    label: Introducing commit deeb843 in dropbox/esaml
tags:
  - cve.org
ingestedAt: '2026-10-22T07:32:31.140Z'
---

## Overview

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.

## Affected

- `arekinath/esaml >= deeb84378d5c82153b470e99d24f77c38afca14a < *`
- `handnot2/esaml >= deeb84378d5c82153b470e99d24f77c38afca14a < *`
- `esaml >= 0.1.0 < *`
- `dropbox/esaml >= deeb84378d5c82153b470e99d24f77c38afca14a < *`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
