Description
Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages.

esaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.

This issue affects esaml: from 0.1.0 onward.
Published: 2026-10-22
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via atom table exhaustion
Action: Patch Now
AI Analysis

Impact

The vulnerability is a resource exhaustion flaw in the esaml library, where an unauthenticated attacker can send LogoutResponse messages without a signature to the single‑logout endpoint. The library maps any unknown StatusCode to a new atom derived from the URN. Each distinct unsigned status creates a permanent atom, and atoms are never garbage‑collected. When about one million unique atoms are created, the Erlang VM atom table overflows and the node crashes, resulting in a denial of service. This flaw falls under CWE‑770.

Affected Systems

The affected product is esaml, maintained by arekinath, dropbox, and handnot2, from version 0.1.0 onward. Any release of esaml that has not applied the fix for the atom‑creation issue is vulnerable. The vulnerability is present in all distributions that include the esaml source code used by those vendors.

Risk and Exploitability

The CVSS score of 8.2 indicates a high severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, but the attack is straightforward: an unauthenticated attacker can craft a LogoutResponse message with an arbitrary StatusCode and post it to the single‑logout endpoint. Because the library does not enforce signature verification for unsigned messages, the attacker can trigger the atom table exhaustion without authentication or special privileges. Successful exploitation will lead to a crash of the node and denial of service for all users.

Generated by OpenCVE AI on October 22, 2026 at 08:35 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update esaml to the latest stable release (>=0.1.0 with the fix).
  • If the latest release cannot be applied, patch the source by removing list_to_atom usage and enforcing signature validation on all LogoutResponse messages.
  • Alternatively, disable or remove the single‑logout endpoint if it is not needed in your deployment.

Generated by OpenCVE AI on October 22, 2026 at 08:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 22 Oct 2026 07:30:00 +0000

Type Values Removed Values Added
Description Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages. esaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node. This issue affects esaml: from 0.1.0 onward.
Title Unbounded atom creation from unsigned LogoutResponse status codes in esaml allows atom table exhaustion
First Time appeared Arekinath
Arekinath esaml
Dropbox
Dropbox esaml
Handnot2
Handnot2 esaml
Weaknesses CWE-770
CPEs cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
Vendors & Products Arekinath
Arekinath esaml
Dropbox
Dropbox esaml
Handnot2
Handnot2 esaml
References
Metrics cvssV4_0

{'score': 8.2, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-10-22T06:59:07.680Z

Reserved: 2026-10-08T13:45:02.138Z

Link: CVE-2026-86696

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-22T09:17:16.570

Modified: 2026-10-22T09:17:16.570

Link: CVE-2026-86696

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T08:45:02Z

Weaknesses
  • CWE-770

    Allocation of Resources Without Limits or Throttling