Medium severity · published Oct 30, 2026
CVE-2026-97209
Insecure temporary file in mix deps.partition lets a local user execute code in another user's dependency build
New
5.4
CVSS
–
EPSS
No
On KEV
Description
Insecure Temporary File vulnerability in Mix deps.partition in Elixir allows a local user to execute code as another user via a swapped partition config file. Partitioned dependency compilation passes the project configuration to each partition VM through a file in a fixed-name directory under the shared system temporary directory, and the partition trusts what it reads back. Another local user on the same host can exploit this during a mix deps.compile run that uses partitioned compilation.
Mix.Tasks.Deps.Partition.server/4 in lib/mix/lib/mix/tasks/deps.partition.ex creates the directory with File.mkdir_p/1, which accepts an existing directory without checking its owner, so a user who created it first can replace the file before client/0 reads it.
This issue affects mix: from 1.20.0-rc.4 before 1.20.5.
Exploitation
Is it being used?
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
EL
elixir · elixir-lang
1.20.0-rc.4 before 1.20.5; 7f3d95b60c28ae3026a5c1bf943166391245bfd1 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-97209
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-97209
vendor-advisory
https://github.com/elixir-lang/elixir/security/advisories/GHSA-96q6-xhwp-fc8q
related
https://cna.erlef.org/cves/CVE-2026-97209.html
related
https://osv.dev/vulnerability/EEF-CVE-2026-97209
related
https://github.com/elixir-lang/elixir/commit/7f3d95b60c28ae3026a5c1bf943166391245bfd1
patch
https://github.com/elixir-lang/elixir/commit/55eb91220a1de14dc5aa27029d1f45b0f5832b2d
patch
https://github.com/elixir-lang/elixir/commit/9adbe955c8664f4be77d879dd38c003dd39fa777
More from elixir
6.9
CVE-2026-115274
Unbounded integer parsing in JSON.decode/1 enables CPU and memory exhaustion denial of service in Elixir
6.3
CVE-2026-109821
Unbounded port parsing in URI.parse/1 enables CPU exhaustion denial of service in Elixir
5.9
CVE-2026-75758
Unbounded recursion between Inspect.List charlist rendering and List.to_string/1 error path in Elixir
5.1
CVE-2026-49762
Unbounded integer parsing in the Version module enables CPU and memory exhaustion denial of service
