Unbounded port parsing in URI.parse/1 enables CPU exhaustion denial of service in Elixir (elixir-lang elixir)

CVE-2026-109821
MEDIUM 6.3

At a glance

Source
NVD
EPSS
EPSS 0.50 % · percentile 43 ()
State
PUBLISHED
Published
Updated
Assigner
EEF
NVD status
Deferred

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.

Weaknesses (CWE)

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

References

Scores

VersionScoreVectorScored by
CVSS 4.0MEDIUM 6.3CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:NEEF
CVSS 4.0MEDIUM 6.3CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XNVD · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db (Secondary)

European references

Affected products

ProductVersions
elixir-lang · elixiraffected 0.5.0 < 1.18.6 ; affected 1.19.0-rc.0 < 1.19.7 ; affected 1.20.0-rc.0 < 1.20.5
elixir-lang · elixiraffected 39801821eef2d06524e5ebf5a0e4b3c380ad23ae < *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD