Skip to content

Docker Model Runner Unauthenticated Runtime Flag Injection via _configure Endpoint

High
quentin-laplanche published GHSA-m456-c56c-hh5c Feb 27, 2026

Package

gomod github.com/docker/model-runner (Go)

Affected versions

< 1.0.16

Patched versions

1.0.16

Description

Impact

Docker Model Runner exposes a POST /engines/_configure endpoint that accepts arbitrary runtime flags without authentication. These flags are passed directly to the underlying inference server (llama.cpp). By injecting the --log-file flag, an
attacker with network access to the Model Runner API can write or overwrite arbitrary files accessible to the Model Runner process.

When bundled with Docker Desktop (where Model Runner is enabled by default since version 4.46.0), it is reachable from any default container at model-runner.docker.internal without authentication. In this context, the file overwrite can target the
Docker Desktop VM disk ( Docker.raw ), resulting in the destruction of all containers, images, volumes, and build history.

However, in specific configurations and with user interaction, it is possible to convert this vulnerability in a container escape.

Patches

Fixed in Docker Model Runner 1.0.16.

Docker Desktop users should update to 4.61.0 or later, which includes the fixed Model Runner.

Workarounds

For Docker Desktop users, enabling Enhanced Container Isolation (ECI) blocks container access to Model Runner, preventing exploitation. However, if the Docker Model Runner is exposed to localhost over TCP in specific configurations, the vulnerability is still exploitable.

References

https://docs.docker.com/security/
https://www.zerodayinitiative.com/advisories/ZDI-CAN-28379/

Credits

Severity

High

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v3 base metrics

Attack vector
Local
Attack complexity
High
Privileges required
Low
User interaction
Required
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

CVSS v3 base metrics

Attack vector: More severe the more the remote (logically and physically) an attacker can be in order to exploit the vulnerability.
Attack complexity: More severe for the least complex attacks.
Privileges required: More severe if no privileges are required.
User interaction: More severe when no user interaction is required.
Scope: More severe when a scope change occurs, e.g. one vulnerable component impacts resources in components beyond its security scope.
Confidentiality: More severe when loss of data confidentiality is highest, measuring the level of data access available to an unauthorized user.
Integrity: More severe when loss of data integrity is the highest, measuring the consequence of data modification possible by an unauthorized user.
Availability: More severe when the loss of impacted component availability is highest.
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:H

CVE ID

CVE-2026-28400

Weaknesses

Exposed Dangerous Method or Function

The product provides an Applications Programming Interface (API) or similar interface for interaction with external actors, but the interface includes a dangerous method or function that is not properly restricted. Learn more on MITRE.

Credits