CVE-2026-115274
Description
Improper Validation of Specified Quantity in Input vulnerability in the Elixir standard library's JSON module allows an unauthenticated attacker who supplies a JSON document to cause a denial of service through CPU and memory exhaustion. JSON.decode/1 and JSON.decode!/1 convert each integer literal with erlang:binary_to_integer/1 and do not bound its length. A literal of one million digits decodes successfully but costs 100 to 300 times as much CPU as a string of the same length, so one request body of a few megabytes holds a scheduler for about a second. A literal of more than about 1.29 million digits raises SystemLimitError. Applications generated by phx.new decode request bodies with JSON in Plug.Parsers, before routing and authentication. This issue affects elixir: from 1.18.0-rc.0 before 1.18.6, from 1.19.0-rc.0 before 1.19.7, and from 1.20.0-rc.0 before 1.20.5.
How to fix
- elixir-lang elixir1.18.6, 1.19.7, 1.20.5 or later
- github.com/elixir-lang/elixir/commit/c81f12265919c34a0d5134f1905a4eb4edaea1c2
- github.com/elixir-lang/elixir/commit/7154e8781da9fd016a973ea01776a011c8b5726a
- github.com/elixir-lang/elixir/commit/cd158efacdc10b30232864251747dff9b8387dfe
- github.com/elixir-lang/elixir/commit/ee5cc23f8928aa5a0f25bb7f28e42ecfc7b7d396
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| elixir-lang elixir | 1.18.0-rc.0 ≤ v < 1.18.6, 1.19.0-rc.0 ≤ v < 1.19.7, 1.20.0-rc.0 ≤ v < 1.20.5, 793c1147210388587defb649f25f293ffbfa6b1b | 1.18.6, 1.19.7, 1.20.5 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.