Uncontrolled recursion in the Elixir standard library lets an
attacker who controls a list passed to inspect/1,
List.to_string/1, or List.to_charlist/1 exhaust a BEAM node's
memory.
Inspect.List checks only a bounded prefix (4096 elements by
default) to determine whether a list is a charlist, then attempts
to convert the entire list. When a list contains a long printable
prefix followed by an invalid element, the classification passes
but the conversion fails. The error handling path then inspects
the same list again, creating unbounded recursion that grows
process memory until heap limits are exceeded or the node
exhausts resources.