CVE-2026-5843

The MLX inference backend in Docker Model Runner on macOS uses the MLX-LM library, which unconditionally imports and executes arbitrary Python files from mod…

Description

The MLX inference backend in Docker Model Runner on macOS uses the MLX-LM library, which unconditionally imports and executes arbitrary Python files from model directories via the model_file configuration field in config.json. When a model's config.json specifies a model_file pointing to a Python file, MLX-LM uses importlib to load and execute it with no trust_remote_code gate or equivalent safety check. The MLX backend runs without sandboxing, resulting in arbitrary code execution on the Docker host as the Docker Desktop user. Any container on the Docker network can trigger this by calling the model-runner.docker.internal API to pull a malicious model from an attacker-controlled OCI registry and request inference.

Metrics

Severity
high
PoC (publicly reported)
8.8
Source: nvd-v4
13.0 %
Elevated — this CVE ranks above at least 10% of all CVEs scored today.
0.2 %
Low — model estimates < 1% exploitation likelihood.
Published
2026-05-22 19:28 UTC
CWE-829

Weakness classes (CWE)

  • CWE-829Base

    Inclusion of Functionality from Untrusted Control Sphere

    The product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.

    cwe.mitre.org →

Reanalysis & status changes

Chronological NVD audit events for this CVE — reanalyses, CVSS updates, CPE diffs.

  1. CVE Translated2026-07-23 11:10 UTC· nvd@nist.gov
    • Translation: Title: Docker Desktop de Docker, Description: El backend de inferencia MLX en Docker Model Runner en macOS utiliza la biblioteca MLX-LM, que importa y ejecuta incondicionalmente archivos Python arbitrarios de directorios de modelos a través del campo de configuración model_file en config.json. Cuando el config.json de un modelo especifica un model_file que apunta a un archivo Python, MLX-LM utiliza importlib para cargarlo y ejecutarlo sin una puerta trust_remote_code o una comprobación de seguridad equivalente. El backend MLX se ejecuta sin sandboxing, lo que resulta en ejecución de código arbitrario en el host de Docker como el usuario de Docker Desktop. Cualquier contenedor en la red de Docker puede activar esto llamando a la API model-runner.docker.internal para extraer un modelo malicioso de un registro OCI controlado por un atacante y solicitar inferencia.

Affected products

Products and version ranges extracted from the vendor/CERT advisory. A range like „<4.14.6“ implies the update recommendation „upgrade to 4.14.6 or later“.

  • docker

    docker_desktop4.56.0 – 4.71.0

References & sources

IDCVE-2026-5843