Skip to main content
← All vulnerabilities
CVE-2026-49762EEF-CVE-2026-49762GHSA-W2H8-8X3G-278P

Unbounded integer parsing in the Version module enables CPU and memory exhaustion denial of service

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.20.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

Uncontrolled Resource Consumption vulnerability in the Elixir standard library's Version module allows an attacker who controls a version string to cause a denial of service through CPU and memory exhaustion. The version parser converts numeric version components (major, minor, patch and numeric pre-release/build identifiers) to integers without bounding their length. A single large all-digit component therefore forces a super-linear, non-yielding base-10 to arbitrary-precision integer conversion (String.to_integer/1, i.e. :erlang.binary_to_integer/1) that pins a BEAM scheduler, and a larger component raises an uncaught SystemLimitError that crashes the calling process. A single moderately sized string (around one megabyte) is enough; no authentication is required. This is reachable from the public entry points Version.parse/1, Version.parse!/1, Version.match?/3, Version.compare/2, and Version.parse_requirement/1, which applications routinely call on untrusted input such as HTTP parameters, dependency-manifest fields, and package metadata. This vulnerability is associated with program files lib/version.ex and program routines 'Elixir.Version.Parser':parse_digits/2. This issue affects elixir: from 0.9.3 before 1.20.1.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • elixir

    From 0.9.3 · fixed in 1.20.1

  • elixir-lang/elixir

    From 057691722eb8cfe315f5606358954a2b173ff7a3 · fixed in *

References 6

GitHub · elixir-lang/elixir

cna.erlef.org

osv.dev