文章总结: Ollama开源项目曝出严重漏洞,影响0.7.0之前所有版本,攻击者可通过解析恶意模型文件执行任意代码。该漏洞存在于mllama模型解析机制中,由于未验证模型元数据中指定的索引范围,导致越界写入条件。Ollama团队已在0.7.0版本中通过用Go语言重写易受攻击代码修复此问题,建议用户立即升级至最新版本并避免加载不受信任的模型文件。
综合评分: 91
文章分类: 漏洞分析,漏洞预警,安全大事件,AI安全,应用安全
Ollama漏洞允许攻击者通过解析恶意模型文件执行任意代码
FreeBuf
Part01
漏洞概述
GitHub最受欢迎的开源项目之一Ollama(拥有超过15.5万星标)曝出严重漏洞。该漏洞存在于软件解析模型文件的过程中,攻击者可利用此缺陷在运行易受攻击版本平台的系统上执行任意代码。
Ollama是一款广受欢迎的工具,允许开发者和AI专家在本地运行大型语言模型,而无需依赖OpenAI等外部服务。该平台支持众多开源模型,包括gpt-oss、DeepSeek-R1、Meta的Llama4和Google的Gemma3。
Part02
漏洞详情
Sonarsource研究人员在对Ollama代码库进行安全审计时,发现了一个严重的越界写入漏洞。该漏洞影响0.7.0之前的所有Ollama版本,存在于模型文件解析机制中。当处理特制的GGUF模型文件时,软件无法正确验证特定的元数据值。
具体而言,在解析mllama模型时,代码未验证模型元数据中指定的索引是否在可接受范围内。这一疏忽使攻击者能够操纵超出分配边界的内存。
Part03
攻击原理
攻击路径涉及创建具有超大元数据条目或无效层索引的恶意模型文件。当Ollama处理这些文件时,漏洞会触发越界写入条件。获得Ollama API访问权限的攻击者可加载并执行这些武器化模型,从而在目标系统上实现远程代码执行。
Sonarsource确认该漏洞在未配置位置独立可执行文件的构建中可被利用。虽然包含此保护的版本发布后,专家认为通过额外努力仍可实现漏洞利用。
Part04
影响范围与修复方案
该漏洞特别影响用C++编写的mllama模型解析代码,在模型初始化过程中会发生不安全的内存操作。Ollama开发团队在0.7.0版本中通过用Go语言完全重写易受攻击的mllama模型处理代码解决了此漏洞,消除了不安全的C++实现。
运行旧版本的用户面临重大安全风险,应立即升级至最新版本。在生产环境中使用Ollama的组织应审核其部署情况,并实施版本控制以防止加载不受信任的模型文件。
参考来源:
Ollama Vulnerabilities Let Attackers Execute Arbitrary Code by Parsing of Malicious Model Files
Ollama Vulnerabilities Let Attackers Execute Arbitrary Code by Parsing of Malicious Model Files
#
#
#
推荐阅读
#
电台讨论
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:FreeBuf 《Ollama漏洞允许攻击者通过解析恶意模型文件执行任意代码》