CVE-2026-97209 Archivo temporal inseguro en mix deps.partition permite ejecución de código local
La compilación particionada de dependencias pasa la configuración del proyecto a cada VM mediante un archivo en un directorio de nombre fijo bajo el directorio temporal compartido, y la partición confía en lo que lee. Otro usuario local puede crear primero el directorio y reemplazar el archivo antes de que client/0 lo lea, ejecutando código como otro usuario durante mix deps.compile. Afecta a mix desde 1.20.0-rc.4 hasta antes de 1.20.5.
CVSS 4.0
- Probabilidad de explotación · EPSS del 09/110,1 % · percentil 1
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
elixir-lang elixir
desde 1.20.0-rc.4 hasta antes de 1.20.5
elixir-lang elixir
7f3d95b60c28ae3026a5c1bf943166391245bfd1
Qué hacer
- Verificá si usás elixir y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 4.0 · 5.4 MEDIA
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- Vector de ataqueLocal
- Complejidad del ataqueBaja
- Requisitos del ataquePresentes
- Privilegios requeridosBajos
- Interacción del usuarioPasiva
- Confidencialidad (sistema vulnerable)Alta
- Integridad (sistema vulnerable)Alta
- Disponibilidad (sistema vulnerable)Alta
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
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.
Referencias (6)
- github.com/elixir-lang/elixir/security/advisories/GHSA-96q6-xhwp-fc8q
- cna.erlef.org/cves/CVE-2026-97209.html
- osv.dev/vulnerability/EEF-CVE-2026-97209
- github.com/elixir-lang/elixir/commit/7f3d95b60c28ae3026a5c1bf943166391245bfd1
- github.com/elixir-lang/elixir/commit/55eb91220a1de14dc5aa27029d1f45b0f5832b2d
- github.com/elixir-lang/elixir/commit/9adbe955c8664f4be77d879dd38c003dd39fa777
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.