CVE-2026-109821

Unbounded port parsing in URI.parse/1 enables CPU exhaustion denial of service in Elixir

State
Published
Severity
6.3 Medium
Published
Oct 30, 2026
Updated
Oct 30, 2026
Reserved
Oct 23, 2026

Read the record on cve.org

Description

Improper Validation of Specified Quantity in Input vulnerability in the Elixir standard library's URI module allows an attacker who supplies a URL to cause a denial of service through CPU exhaustion.

URI.parse/1 converts the port component with String.to_integer/1 in split_authority/1 (lib/elixir/lib/uri.ex) without bounding its length, so a port of up to 1,262,592 decimal digits produces a bignum of that size and a longer one raises SystemLimitError. Rendering the parsed URI back to text (URI.to_string/1, inspect/1, logging, error formatting) converts the bignum with :erlang.integer_to_binary/1, which is quadratic on Erlang/OTP 27, 28 and 29.0: a 400,000-digit port renders in about 2.6 seconds and a 1 MB port in about 18 seconds. Ports above 65535 are also accepted.

This issue affects elixir: from 0.5.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.

Scores

CVSSScoreVectorSource
4.06.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NEEF

Weaknesses

  • CWE-1284 Improper Validation of Specified Quantity in Input
  • CWE-400 Uncontrolled Resource Consumption

Affected Products

ProductVersions
elixirelixir-lang
  • 0.5.0 to before 1.18.6Affected
  • 1.19.0-rc.0 to before 1.19.7Affected
  • 1.20.0-rc.0 to before 1.20.5Affected
elixirelixir-lang
  • 39801821eef2d06524e5ebf5a0e4b3c380ad23ae and laterAffectedfrom 9a39d64a4473d02681c486bc70681c972479d32bNot affectedfrom b70f33a591b6ab8eb0fa4a7e00bac1c2ed4e0d58Not affectedfrom 07d9abc3f3ac4c8d2ba8384bd102b6d6205b08b7Not affectedfrom d879b39d778fec2f475689573d5672720c4f2a21Not affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.