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

CVE-2026-109821
MEDIUM 6.3

En bref

Source
NVD
EPSS
EPSS 0.50 % · centile 43 ()
État
PUBLISHED
Publiée
Mise à jour
Attribuée par
EEF
Statut NVD
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.

Faiblesses (CWE)

  • CWE-1284 — Validation incorrecte d'une quantité spécifiée en entrée
  • CWE-400 — Consommation de ressources non maîtrisée (déni de service)

Références

Scores

VersionScoreVecteurÉvalué par
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)

Références européennes

Produits affectés

ProduitVersions
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