Description
Allocation of Resources Without Limits or Throttling vulnerability in elixir-tesla tesla allows denial of service via atom table exhaustion in Tesla.Adapter.Mint. Tesla.Adapter.Mint.open_conn/2 converts the URL scheme of every outgoing request to a BEAM atom via String.to_atom(uri.scheme) with no allow-list validation. BEAM atoms are never garbage-collected and the atom table is bounded (approximately 1,048,576 entries by default). An attacker who can influence the URL of a Tesla request — either via an application-level URL-forwarding feature (webhook, proxy, importer) or via a Location header returned by a server when Tesla.Middleware.FollowRedirects is in the pipeline — can mint one fresh permanent atom per request by varying the scheme string. After enough requests the atom table fills and the VM crashes, taking down the entire application. This issue affects tesla: from 1.3.0 before 1.18.3.
Problem types
CWE-770 Allocation of Resources Without Limits or Throttling
Product status
1.3.0 (semver) before 1.18.3
ccd0823d4ba37581a37d8f6108f9a81b263237ef (git) before 4699c3cb3e2fd6078f99f45f11cf7466aeedbf0e
Credits
Peter Ullrich
Yordis Prieto
Jonatan Männchen
References
github.com/.../tesla/security/advisories/GHSA-h74c-q9j7-mpcm
github.com/.../tesla/security/advisories/GHSA-h74c-q9j7-mpcm
cna.erlef.org/cves/CVE-2026-48597.html
osv.dev/vulnerability/EEF-CVE-2026-48597
github.com/...ommit/4699c3cb3e2fd6078f99f45f11cf7466aeedbf0e