CVE-2026-53423: Beam Atom Exhaustion

Dynamically creating atoms from untrusted input using `String.to_atom/1` or `List.to_atom/1` can lead to a Denial of Service (DoS) due to atom table exhaustion. BEAM atoms are never garbage collected, and creating them from unbounded user input allows attackers to continuously allocate them until the entire BEAM node crashes. Use `String.to_existing_atom/1`

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0Elixir
greprules fetch cve-2026-53423-beam-atom-exhaustion --engine opengrep

Description

Dynamically creating atoms from untrusted input using `String.to_atom/1` or `List.to_atom/1` can lead to a Denial of Service (DoS) due to atom table exhaustion. BEAM atoms are never garbage collected, and creating them from unbounded user input allows attackers to continuously allocate them until the entire BEAM node crashes. Use `String.to_existing_atom/1`