Exploit for CVE-2026-44596 exploit
CVE-2026-44596 是 Ollama 0.17.1 之前版本中的一个严重远程代码执行漏洞,攻击者通过构造恶意模型仓库 URL,利用路径遍历在服务器上写入文件并执行任意命令。本文提供技术分析、攻击场景、修复方法及临时缓解措施,帮助安全团队快速响应。
Exploit for CVE-2026-44596 exploit
📋 漏洞概述
CVE-2026-44596 是 Ollama 0.17.1 之前版本中的远程代码执行漏洞,可导致未授权攻击者完全控制服务器。
📋 基础信息
| 受影响版本 | Ollama < 0.17.1 |
| 漏洞类型 | 远程代码执行 |
| CVSS | 9.8 · Critical |
| CVE | CVE-2026-44596 |
🔬 漏洞根因
漏洞位于 Ollama 的 HTTP API 端点 /api/pull 的模型下载处理逻辑中。当处理模型下载请求时,服务端未对模型仓库 URL 中的路径组件进行充分校验。攻击者可以通过构造包含符号链接或路径遍历的恶意仓库 URL,使得 Ollama 在解压模型文件时,将文件写入到容器外部的任意位置。结合后续的模型加载或执行流程,攻击者能够覆盖系统关键文件(如 SSH 授权密钥、计划任务脚本或动态链接库),最终实现任意代码执行。推测其根本原因是开发者在实现模型拉取和解压功能时,错误地信任了来自外部仓库的路径元数据,未做严格的路径规范化或沙箱限制。
🎯 攻击场景
1. 攻击者搭建一个恶意的模型仓库服务器,其中包含一个看似合法的模型文件,但内部含有经过特殊构造的符号链接或路径遍历条目(例如 ../../../../etc/cron.d/malicious)。 2. 攻击者通过 Ollama 的 API(例如 POST /api/pull)向目标 Ollama 实例发送请求,指定恶意仓库的 URL。目标 Ollama 下载模型 tar 包并解压。 3. 解压过程中,由于缺乏路径校验,符号链接指向系统关键目录,导致恶意文件被写入主机文件系统(如覆盖 /etc/cron.d/ 下的合法任务,或替换 /root/.ssh/authorized_keys)。 4. (可选) 若写入的是 SSH 公钥或计划任务,攻击者通过 SSH 登录或等待定时任务触发,在服务器上执行任意命令。 5. 成功标志:攻击者获得目标服务器的高权限 shell 或执行了任意系统命令。
💥 漏洞影响
该漏洞可使远程未认证攻击者利用默认配置的 Ollama 服务,在运行该服务的服务器上实现任意代码执行。由于 Ollama 通常以高权限用户运行以管理 Docker 或 GPU 资源,此类漏洞的利用可导致整个主机完全失陷,包括数据窃取、植入后门、用于横向移动等。影响所有默认部署且未及时更新至 0.17.1 版本的 Ollama 实例。
🛡️ 修复建议
立即升级至 Ollama 0.17.1 或更高版本。临时缓解措施包括:在防火墙或反向代理层限制对 Ollama API 端口(默认 11434)的访问,仅允许可信 IP;同时可以修改配置,禁用不必要的模型拉取 API 端点;对容器运行环境进行严格的权限控制,避免以 root 权限运行 Ollama 进程。
📎 参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2026-44596
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-44596
- 原始来源(Sploitus)
🚨 威胁评估
| 📈 EPSS 利用概率 | 暂无数据 |
| 🚨 CISA KEV | 未被已知利用 |
| 🔧 公开 PoC | 暂无公开 PoC |
⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-30 08:11 | 来源: Sploitus
🤖 常见问题解答(FAQ)
❓ 如何检测我的 Ollama 是否受影响?
执行 'ollama --version' 检查版本,若低于 0.17.1 则受影响。也可检查日志中是否有异常模型下载请求或文件路径写入记录。
❓ 攻击者能直接利用此漏洞窃取数据吗?
可以。一旦通过路径穿越写入SSH密钥或执行命令,攻击者即可获得 shell 访问权限,直接读取数据库、模型文件或系统敏感数据。
❓ 临时无法升级,有何缓解措施?
限制API访问:iptables -A INPUT -p tcp --dport 11434 -s 你的IP -j ACCEPT; iptables -A INPUT -p tcp --dport 11434 -j DROP。同时禁止 Ollama 以 root 运行,并使用 seccomp/apparmor 限制文件写入路径。