Running an MCP Server and Client locally with Ollama | by Andre Botta |  Medium

如果你正在用Ollama跑本地大模型,而且顺手把服务挂到了公网——那这篇文章你得认真看完。

最近,安全公司Cyera披露了一个藏在Ollama里的严重漏洞,编号CVE-2026-7482,代号"Bleeding Llama"。CVSS评分9.1,属于"严重"级别。问题的离谱之处在于:攻击者不需要账号、不需要密码,只需要上传一个经过特殊构造的模型文件,就能像开盲盒一样,把你服务器内存里的敏感信息逐个"读"出来。

全球超过30万个暴露在公网的Ollama实例,理论上都站在了这个枪口前。


一张"撒谎"的GGUF文件撬开了内存的锁

Understanding the GGUF Format: A Comprehensive Guide | by Vimal Kansal |  Medium

要理解这个漏洞,得先明白Ollama是怎么加载模型的。

Ollama底层用的是GGUF格式,这是目前本地部署大模型最主流的文件格式。一个GGUF文件里会声明各种张量(tensor)的偏移位置和大小——简单说,就是告诉程序"我的数据从哪开始、占多大地方"。程序按这张"地图"去内存里划地盘、搬数据。

CVE-2026-7482的问题,就出在Ollama读取这张"地图"的时候太老实了——对方说什么它就信什么。

攻击者制作一个GGUF文件,故意把某个张量的尺寸标得比实际文件大得多。Ollama加载时,按照虚假的"地图"去分配内存、读取数据,结果文件早就读完了程序还在傻乎乎地往后面的内存区域继续"看"。这就是典型的堆越界读取(CWE-125),内存里相邻区域的数据,就这样被一点点带了出来。

What is Memory Leak?

这些被"多看"到的内容,可能是环境变量API密钥、数据库连接串,也可能是系统提示词,甚至是同一台服务器上其他用户正在进行的对话记录。更麻烦的是,这些数据被读进模型后,攻击者再通过/api/push接口把模型推送到自己控制的仓库,整个窃取过程几乎不留痕迹。


默认配置:方便了自己也方便了攻击者

Detecting Exposed LLM Servers: Shodan Case Study on Ollama

Ollama的REST API默认不开启身份认证,而/api/create/api/push这两个接口,恰恰就是完成上述攻击链条的关键入口。

如果Ollama老老实实监听在127.0.0.1,那远程攻击者根本够不着。但现实中,大量用户为了远程调用方便,直接把服务绑到了0.0.0.0,甚至配上公网IP裸奔上线。这样一来,攻击者只需要发一条HTTP POST请求,就能把恶意文件送进去。后续的越界读取、数据外传,全部走的是正常的API调用流程,防火墙和流量监控都很难察觉异常。

30万+的暴露实例,不是个小数字。Shodan上的扫描结果已经说明了一切很多人部署完Ollama后,根本没意识到自己的API端口正对着整个互联网开放。


Windows用户还有另一颗雷:自动更新成了自动投毒

Add Auto-Update switch to Windows client · Issue #3459 · ollama/ollama

服务器端的漏洞已经够头疼了,Windows桌面用户还面临着另一组尚未修复的漏洞。

安全公司Striga同期披露了CVE-2026-42249和CVE-2026-42248,影响从0.12.10到0.22.0的几乎所有Windows版本这两个漏洞串联起来,能达成一个相当阴险的效果:持久化后门植入。

具体怎么做到的?

Ollama Windows客户端有几个"贴心"的默认行为:开机自启、自动更新、本地监听127.0.0.1:11434。更新机制会定期向服务器查询新版本,但问题就出在这里——它不校验下载文件的数字签名。macOS版本有签名校验,Windows版却直接放行。

更离谱的是,更新器在创建本地临时目录时,直接用了HTTP响应头里的路径字段,没有做任何过滤。攻击者如果劫持了更新流量,或者干脆控制了更新服务器,就能通过路径遍历(../)把恶意可执行文件写到Windows的"启动"文件夹里。

下次用户登录,系统就会默默执行这个文件。就算官方后续推送了正常更新,覆盖了被篡改的文件,路径遍历漏洞依然能让攻击者把恶意代码藏到非标准目录,躲过清理


现在该做什么?

针对CVE-2026-7482(服务器端)

第一,立刻升级。Ollama 0.17.1及以上版本已经修复了这个漏洞别拖着。

第二,收紧网络暴露面。给Ollama套上反向代理,强制启用身份认证,API端口绝不能直接暴露在公网。如果是在云服务器上跑,安全组规则要卡死来源IP,最好只允许内网或VPN访问。

第三,如果你曾经把Ollama挂在不受信任的网络环境里运行过,建议做一轮彻底的凭证轮换——API密钥、数据库密码、访问令牌该换的全换。同时排查一下有没有异常模型被推送到私有仓库,评估一下数据泄露的实际范围。

针对Windows客户端漏洞(暂无补丁)

在官方发布修复之前,最直接的缓解手段就是关闭自动更新,并手动删除启动文件夹里的Ollama快捷方式。

路径在这里:

plain

复制

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

删掉这个快捷方式,至少能阻断登录后静默自启的路径。后续更新建议等官方公告,手动下载安装包进行覆盖安装,而不是依赖客户端的自动更新通道


写在最后

Critical Flaws in Ollama AI Framework Could Enable DoS, Model Theft, and  Poisoning

Ollama让本地跑大模型变得前所未有的简单,但"简单"和"安全"往往是一对矛盾。很多开发者习惯了"先跑起来再说",却在网络配置和访问控制上留下了大片空白。

Bleeding Llama这个名字起得挺形象——Llama在流血,流的是内存里的敏感数据。对于已经暴露在公网的30多万个实例来说,修补漏洞只是第一步。更重要的是建立一种习惯:每部署一个服务,先问自己一句——这个端口,真的需要让全世界都看见吗?

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐