技术说明
Ollama的GGUF模型加载器中的堆越界读取漏洞允许攻击者在模型量化过程中触发内存损坏。/api/create端点接受攻击者提供的GGUF文件,其中声明的张量偏移和大小超过文件的实际长度。当Ollama在fs/ggml/gguf.go和server/quantization中处理此类文件进行量化时,它会读取分配内存边界之外的数据,从而在Ollama服务器进程的上下文中实现任意代码执行。
攻击途径
攻击者可以制作恶意GGUF模型文件并将其提交到/api/create端点。如果组织的Ollama实例暴露在外或攻击者具有内部网络访问权限,他们可以上传武器化的模型文件。在处理过程中,越界读取被触发,允许攻击者在托管Ollama的服务器上执行任意代码,可能获得系统的完全控制权以及访问该实例管理的所有模型和数据。
受影响系统
0.17.1版本之前的Ollama版本。Ollama在企业环境、开发者工作站和研究实验室中被广泛部署用于本地LLM推理和模型管理。
缓解措施
立即升级到Ollama 0.17.1版本或更高版本。组织应审计所有Ollama实例(包括开发者笔记本电脑和边缘部署)以确保已打补丁。如果无法立即打补丁,应通过网络分段或身份验证控制限制对/api/create端点的访问,并监控可疑的模型上传活动。