CVE-2026-115886
MLflow: SSRF on unauthenticated MLflow servers via third-party scorer kwargs in the scorer invoke, register, and GenAI evaluate endpoints
Что произошло
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, the scorer invoke, register, and GenAI evaluate endpoints, including unauthenticated POST /ajax-api/3.0/mlflow/scorer/invoke, accept serialized third-party scorer data that Scorer.model_validate_json resolves using a module-path allowlist without constraining the selected class or its constructor arguments. When optional trulens and trulens-providers-litellm packages are installed, an attacker can select mlflow.genai.scorers.trulens, choose a model URI outside MLflow's native provider registry so execution uses the LiteLLM fallback, and supply api_base and api_key values that cause the server to send an outbound request to an attacker-chosen or internal host with attacker-controlled headers and body. The vulnerable deserialization occurs before a tracking-store lookup or job submission. 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 PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "3.17.0",
"versionStartIncluding": "3.12.0rc0"
}CVSS: оценки и векторы
CVSS 3.1 · cve6.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
CVSS 3.1 · security-advisories@github.com6.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve",
"nvd"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:11:57.711114+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-29T18:39:48.057145+00:00"
},
"scores": [
"cve",
"nvd"
],
"status": {
"source": "cve",
"received_at": "2026-10-29T18:39:48.057145+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-29T18:39:48.057145+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:11:57.711114+00:00"
},
"references": [
"cve",
"nvd",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-29T18:39:48.057145+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:11
- Данные обновлены03.11.2026, 00:11
- Данные обновлены02.11.2026, 13:38
- Данные обновлены02.11.2026, 00:09
- Данные обновлены31.10.2026, 11:57
- Данные обновлены30.10.2026, 16:52
- Появилась ссылка на PoC29.10.2026, 21:39
- Данные обновлены28.10.2026, 22:37
- Данные обновлены28.10.2026, 18:05
- Опубликована28.10.2026, 15:16
Личная заметка и статус
Другие 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-116692 MLflow: Remote code execution on unauthenticated MLflow servers via third-party scorer deserialization importing caller-placed artifact modules mlflow / mlflow · mlflow | Критический | 9.8 | 0,7 % | Патч | 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-116690 MLflow: Arbitrary file read on unauthenticated MLflow servers via prompt model version source mlflow / mlflow · mlflow | Высокий | 7.5 | 1,8 % | Патч | 27.10.2026 |