GPU VulnDB

Database/AI/ML frameworks & serving

MLflow: unauthenticated scorer/invoke deserialization lets a caller drive outbound requests to internal hosts

CVSS 6.5CVE-2026-115886AI/ML frameworks & servingcurated

Impact

The scorer invoke, register and GenAI evaluate endpoints - including an unauthenticated POST /ajax-api/3.0/mlflow/scorer/invoke - deserialize third-party scorer data with a module-path allowlist that does not constrain the chosen class or its constructor arguments. Where the optional trulens and trulens-providers-litellm packages are installed, an attacker can select the trulens scorer, pick a model URI that falls through to the LiteLLM path, and set api_base and api_key so the MLflow server issues a request to a host of their choosing with attacker-controlled headers and body. That turns an experiment-tracking server, which usually sits inside the cluster with network reach to registries, object storage and cloud metadata, into a request relay. The deserialization happens before any tracking-store lookup or job submission, so no valid experiment or job is needed.

Who can reach it

Anyone who can reach the MLflow tracking server's HTTP API; the invoke endpoint requires no authentication. Exposure depends on the optional trulens packages being present in the server image.

What to do

Upgrade MLflow to 3.17.0 and restart the tracking server - a daemon restart, no node work. If you cannot upgrade immediately, remove trulens and trulens-providers-litellm from the server environment, keep the tracking server off any network path where unauthenticated clients can reach it, and block its egress to link-local metadata addresses.

References

Related entries

All AI/ML frameworks & serving entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.