这一漏洞主要影响使用C++编写的mllama模型解析代码,会在模型初始化的关键阶段引发不安全的内存操作。
漏洞概述
GitHub上最受欢迎的开源项目之一Ollama(拥有超过15.5万星标)近日曝出严重安全漏洞。该漏洞存在于软件解析模型文件的过程中,攻击者能够利用这一缺陷在易受攻击版本平台上运行恶意代码,进而掌控整个系统。
Ollama作为一款广受欢迎的开发工具,让开发者和AI专家能在本地运行大型语言模型,无需依赖OpenAI等外部服务。该平台支持众多开源模型,包括GPT-OSS、DeepSeek-R1、Meta的Llama4以及Google的Gemma3。

漏洞详情
Sonarsource研究人员在对Ollama代码库进行安全审计时,发现了一个严重的越界写入漏洞。该漏洞影响0.7.0之前的所有Ollama版本,问题根源在于模型文件解析机制。当处理特制的GGUF模型文件时,软件无法正确验证特定的元数据值。
具体来说,在解析mllama模型过程中,代码未能验证模型元数据中指定的索引是否在可接受范围内。这一疏忽使得攻击者能够操纵超出分配边界的内存空间。
攻击原理
攻击者可以精心构造包含超大元数据条目或无效层索引的恶意模型文件。当Ollama处理这些文件时,漏洞会被触发导致越界写入。获得Ollama API访问权限的攻击者能够加载并执行这些武器化模型,从而在目标系统上实现远程代码执行。
Sonarsource确认该漏洞在未配置位置独立可执行文件的构建中可被利用。虽然包含此保护的版本发布后,专家认为通过额外努力仍可能实现漏洞利用。
影响范围与修复方案
该漏洞尤其影响使用C++编写的mllama模型解析代码,在模型初始化过程中会发生危险的内存操作。Ollama开发团队在0.7.0版本中通过用Go语言完全重写易受攻击的mllama模型处理代码,彻底解决了这一问题,消除了不安全的C++实现。
运行旧版本的用户面临重大安全风险,应立即升级至最新版本。在生产环境中使用Ollama的组织应审核其部署情况,并实施版本控制以防止加载不可信的模型文件。
