漏洞概述 在MLflow的PR #23607中,实验作用域的标签模式CRUD API( 和 )的请求处理程序在 中注册,但相应的protobuf请求类未在 的 中注册。这导致在使用MLflow基本应用时,非管理员用户可以绕过实验级别的RBAC,直接访问创建、读取、更新、删除等操作,而无需预期的实验READ/UPDATE权限检查。 影响范围 受影响组件:MLflow的标签模式CRUD API。 影响用户:所有使用MLflow基本应用的用户,特别是非管理员用户。 影响操作:创建、读取、更新、删除标签模式的操作。 修复方案 1. 注册请求类:将标签模式的protobuf请求类注册到 中。 2. 使用实验验证器:对于携带 的路由,使用实验验证器。 3. 添加基于schema的验证器:获取schema,读取其 ,并在 、 和 操作中强制执行READ或UPDATE权限。 4. 添加回归测试:为每个标签模式端点添加认证回归测试,确保未授权的认证用户收到403错误。 POC代码 运行结果 其他信息 相关源文件位置: - 注册了标签模式REST API。 - 实现了标签模式处理程序。 - 定义了 ,但没有 条目。 - 返回 当未找到验证器时。 验证执行: - - - 受影响组件 : Tracking Service, tracking client APIs, autologging : Model Registry service, APIs, and the fluent client calls for Model Registry : MLflow model serving, deployment tools, Spark UDFs : MLflow model evaluation features, evaluation metrics, and evaluation workflows : MLflow prompt engineering features, prompt templates, and prompt management : MLflow Tracing features, tracing APIs, and LLM tracing functionality : MLflow AI Gateway client APIs, server, and third-party integrations : MLproject format, project running backends : Front-end, user experience, plotting : MLflow documentation pages 评论 sripy356 表示愿意处理此问题,并请求维护者应用 标签。 B-Step62 感谢报告,并说明标签模式PR尚未合并,处理程序将在发布前添加。