CVE-2026-93471 json
Unbounded SAML message decompression in esaml allows memory exhaustion
published 20d ago modified 12d ago also EEF-CVE-2026-93471 , EUVD-2026-108052
- cvss
- 8.7
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
Improper Handling of Highly Compressed Data (Data Amplification) in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed SAMLResponse.
esaml_binding:decode_response/2 base64-decodes the attacker-supplied SAMLResponse, inflates it with zlib:unzip/1 with no bound on the output, then converts the result to a charlist with binary_to_list/1 before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.
This issue affects esaml: from 0.1.0 onward.
Patch / fix
Is CVE-2026-93471 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
- yes
- Technical impact
- partial
- Assessed
- 12d ago
Exploit prediction
0.66% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- cna.erlef.org https://cna.erlef.org/cves/CVE-2026-93471.html referenced PoC, tagged "exploit" by a source, unverified
- osv.dev https://osv.dev/vulnerability/EEF-CVE-2026-93471 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | 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 |
| CNA | 4.0 | 8.7 | 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/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 | esaml | >=0.1.0 |
no fix listed |
Affected products
- handnot2 esaml
- arekinath esaml
- dropbox esaml
Classification
- Weakness
-
- CWE-409 Improper Handling of Highly Compressed Data (Data Amplification)
References
-
github.com
/handnot2/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a
related, web
-
github.com
/arekinath/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a
related, web
-
github.com
/dropbox/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a
related, broken-link, web
-
cna.erlef.org
/cves/CVE-2026-93471.html
related, third-party-advisory, exploit, web
-
osv.dev
/vulnerability/EEF-CVE-2026-93471
related, exploit
-
hex.pm
/packages/esaml
package
Sources
- CVE List CVE-2026-93471
- NVD CVE-2026-93471
- OSV EEF-CVE-2026-93471
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.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.