漏洞描述:
Ollama是一个功能强大、易于使用且支持多种大型语言模型和机器学习框架的开源框架,它极大地简化了大型语言模型在本地部署和管理的过程,为研究和开发人员提供了极大的便利,Ollama中被披露存在多个安全漏洞,导致攻击者可通过HTTP请求执行恶意操作,从而可能造成拒绝服务、信息泄露等,目前这些漏洞的技术细节已公开,部分漏洞详情如下:1.CVE-2024-39720:Ollama越界读取漏洞
Ollama版本 <= 0.1.45中存在越界读取漏洞,该漏洞的CVSS评分为8.2,允许攻击者通过两个HTTP POST请求上传一个特制的GGUF文件,该文件仅包含4个字节,并以GGUF自定义的魔法标头开头。攻击者进一步利用一个包含指向其控制的blob文件的FROM语句的自定义Modelfile,通过/api/create路由的CreateModel功能,使应用程序在处理该恶意请求时发生崩溃.引发分段错误.从而导致拒绝服务(DoS)。
2.CVE-2024-39722:Ollama信息泄露漏洞
Ollama版本<=0.1.45中api/push路由存在路径遍历漏洞,该漏洞的CVSS评分为7.5,攻击者可通过向该路由发送包含恶意构造的、不存在的路径参数的POST请求来利用该漏洞,从而可能导致服务器返回包含文件系统信息的错误消息,泄露其文件目录结构。
3.CVE-2024-39719:Ollama信息泄露漏洞
Ollama版本<= 0.3.14中存在信息泄露漏洞,该漏洞的CVSS评分为7.5,由于api/create路由中对路径参数处理不当,如果攻击者使用POST方法向该路由发送包含不存在的文件路径参数的恶意请求,应用程序会返回一个包含文件不存在的错误响应,从而可能泄露服务器上文件的存在性信息。
4.CVE-2024-39721:Ollama拒绝服务漏洞
Ollama版本<=0.1.33中存在拒绝服务漏洞,该漏洞的CVSS评分为7.5,由于api/create路由的CreateModelHandler函数未对用户控制的req.Path参数进行适当验证,允许攻击者指定如/dev/random这样的特殊文件,攻击者可通过向该路由发送包含此类特殊文件路径的POST请求来利用该漏洞,导致程序在读取文件时阻塞,从而进入无限循环,最终导致拒绝服务。
影响范围:CVE 影响范围 修复版本
CVE-2024-39720 Ollama版本<= 0.1.45 Ollama版本>=0.1.46
CVE-2024-39722 Ollama版本<=0.1.45 Ollama版本>=0.1.46
CVE-2024-39719 Ollama版本<= 0.3.14 尚未修复
CVE-2024-39721 Ollama版本<= 0.1.33 Ollama版本>=0.1.34
修复建议:
升级版本
目前部分漏洞已经修复,受影响用户可参考上表升级到相应修复版本或最新版本。
下载链接:
https://github.com/ollama/ollama/releases