CVE-2026-116692
MLflow: Remote code execution on unauthenticated MLflow servers via third-party scorer deserialization importing caller-placed artifact modules
Что произошло
MLflow is an open source AI engineering platform for agents, large language models, and machine learning models. From 3.12.0rc0 until 3.17.0, third-party scorer deserialization in mlflow/genai/scorers/base.py accepts request-selected descendants of THIRD_PARTY_SCORER_ALLOWED_MODULES rather than requiring an exact allowed module. A caller can use MLflow artifact endpoints to place a Python module beneath a writable allowed package and submit its module and class through /ajax-api/3.0/mlflow/scorer/invoke. Scorer.model_validate_json() imports the module and constructs the class before trace processing. Authentication-disabled deployments permit this code execution without credentials, while basic-auth deployments require a principal capable of creating an experiment and run and uploading artifacts. In either configuration, the allowed scorer package must be writable by the server process. This issue is fixed in version 3.17.0.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
mlflow / mlflow
{
"status": "affected",
"version": ">= 3.12.0rc0, < 3.17.0"
}mlflow pip
Диапазон источника: >= 3.12.0rc0, < 3.17.0
Первая исправленная версия по источнику: 3.17.0
mlflow PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "3.17.0",
"versionStartIncluding": "3.12.0rc0"
}CVSS: оценки и векторы
CVSS 3.1 · cve9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1 · security-advisories@github.com9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1 · ghsa9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"ghsa",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:11:59.481848+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-11-02T19:44:06.321306+00:00"
},
"scores": [
"cve",
"ghsa",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-11-02T19:44:06.321306+00:00"
},
"affected": [
"cve",
"ghsa",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-11-02T19:44:06.321306+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:11:59.481848+00:00"
},
"references": [
"cve",
"ghsa",
"nvd",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-11-02T19:44:06.321306+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:11
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 13:38
- Данные обновлены02.11.2026, 00:10
- Данные обновлены31.10.2026, 11:57
- Данные обновлены30.10.2026, 16:57
- Данные обновлены29.10.2026, 00:23
- Данные обновлены28.10.2026, 18:06
- Появились сведения об исправлении28.10.2026, 17:59
- Опубликована28.10.2026, 15:17
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2025-15381 Unauthorized Access to Tracing and Assessment Endpoints in mlflow/mlflow mlflow / mlflow/mlflow · Red Hat / Red Hat OpenShift AI (RHOAI) | Критический | 7.1 | 0,34 % | PoC | 27.03.2026 | |
| CVE-2026-116691 MLflow CrewAI autologging records LLM provider API keys in logged trace spans mlflow / mlflow · mlflow | Высокий | 6.5 | 0,21 % | PoCПатч | 27.10.2026 | |
| CVE-2026-53995 MLflow 3.17.1 and prior Path Traversal via Trace ID API mlflow / mlflow · mlflow | Критический | 8.8 | 0,63 % | PoCПатч | 20.10.2026 | |
| CVE-2026-115886 MLflow: SSRF on unauthenticated MLflow servers via third-party scorer kwargs in the scorer invoke, register, and GenAI evaluate endpoints mlflow / mlflow · mlflow | Высокий | 6.5 | 0,68 % | PoC | 24.10.2026 | |
| CVE-2026-116690 MLflow: Arbitrary file read on unauthenticated MLflow servers via prompt model version source mlflow / mlflow · mlflow | Высокий | 7.5 | 1,8 % | Патч | 27.10.2026 |