大家好,我是 Ai 学习的老章
Ollama 是咱们公众号的常客
今天又得给老朋友补一刀,因为 Ollama 这次摊上的事儿不小——一个 CVSS 9.1 的高危漏洞,已被 Cyera 安全研究员命名为 Bleeding Llama,编号 CVE-2026-7482
简介
事情起源于 The Hacker News 的一篇披露文章,Cyera 研究员 Dor Attias 在 Ollama 的 GGUF 模型加载器里挖出了一个堆越界读取(heap out-of-bounds read)漏洞
按照 cve.org 的官方描述:
❝ Ollama before 0.17.1 contains a heap out-of-bounds read vulnerability in the GGUF model loader The /api/create endpoint accepts an attacker-supplied GGUF file in which the declared tensor offset and size exceed the file's actual length
翻译过来就是:0.17.1 之前的所有版本,只要 /api/create 接口暴露在网上,攻击者上传一个恶意构造的 GGUF 文件就能把服务器进程内存读个底朝天
问题代码位置也很明确:
fs/ggml/gguf.goserver/quantization.go里的WriteTo()函数
根源在于 Ollama 在量化时用了 Go 的 unsafe 包绕过内存安全检查,再加上没校验 tensor offset 和 size 是否超过文件实际大小,结果就是越界读 heap
攻击链
下图是 Cyera 给出的 API 调用示意:
整个攻击链就三步:
上传 :把构造好的 GGUF 文件(把 tensor shape 设成一个超大的数)通过 HTTP POST 丢到网络可达的 Ollama 服务器
触发 :调用
/api/create让 Ollama 开始建模型,越界读发生在量化阶段外泄 :用
/api/push把读到的内存当作"模型 artifact"推送到攻击者控制的 registry
读到的内容包括什么?Cyera 列得很清楚:环境变量、API keys、system prompts、其他并发用户的对话数据
Dor Attias 还提了一个特别扎心的场景:很多工程师把 Ollama 接到 Claude Code 上当本地推理后端,那么所有工具调用的输入输出都会经过 Ollama 进程的 heap,一旦被读,整个研发现场都漏给攻击者了
影响面
The Hacker News 援引 Cyera 数据:全球暴露在公网的 Ollama 服务器超过 300,000 台
Ollama 在 GitHub 上现在是 171,000+ stars、16,100+ forks,体量摆在这儿,公网暴露面是真大
怎么办
官方修复版本是 0.17.1,发布说明在这: https://github.com/ollama/ollama/releases/tag/v0.17.1
按 The Hacker News 的建议,最起码做这几件事:
立刻升级到 0.17.1 或更新
不要把 Ollama 直接暴露公网 ,至少塞防火墙后面
审计现有实例 有没有意外开放到外网
加一道认证代理或 API 网关 ,因为 Ollama 默认是没鉴权的——这才是问题的根
审计已经在用的实例日志 ,看有没有可疑的
/api/create、/api/push请求
之前我就提过几次 Ollama 的安全隐患,主要槽点是默认没鉴权,谁连上谁就能用,这次的 Bleeding Llama 把"没鉴权"的代价具象化了——不是别人多耗你点 GPU,而是把你机器上跑过的所有秘密都拿走
如果你只在本机 127.0.0.1 跑 Ollama,问题不大;只要 OLLAMA_HOST 绑过 0.0.0.0 或暴露给团队/公网,就抓紧升级
制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!
热门跟贴