操纵恶意 GGUF 文件
WriteTo() 函数中的漏洞
fs/ggml/gguf.goserver/quantization.go数据泄露
/api/push 端点(上传到攻击者控制的注册表)。| 步骤 | 攻击者操作 | 端点 | 结果 |
|---|---|---|---|
| 1 | 上传恶意 GGUF 文件 | /api/create | 触发漏洞 |
| 2 | 执行量化 | /api/create | 泄露堆内存 |
| 3 | 恢复泄露的数据 | /api/push | 将数据外泄到外部服务器 |
💡 影响示例: "攻击者几乎可以了解有关组织的任何信息:API 密钥、专有代码、客户合同等等。" — Dor Attias,Cyera 研究员
[!CAUTION] 在上游发行版中,受影响的端点默认不需要认证。
| 措施 | 描述 | 实施方式 |
|---|---|---|
| 限制网络访问 | 避免将 Ollama 暴露到互联网 | 配置 OLLAMA_HOST=127.0.0.1 |
| 更新到最新版本 | 修补漏洞 | 查看 GitHub Ollama |
| 实施认证 | 使用带认证的反向代理 | 使用 Nginx/Apache 配合基本认证 |
| 审计暴露的实例 | 识别易受攻击的服务器 | 使用 nmap 或 shodan 等工具扫描 |
# 仅在 localhost 上运行 Ollama
OLLAMA_HOST=127.0.0.1 ollama serve
# 使用带认证的反向代理
server {
listen 443 ssl;
server_name ollama.example.com;
location / {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://127.0.0.1:11434;
}
}
⚠️ 本仓库仅用于教育和信息目的。 利用此漏洞可能违反网络安全法律和服务条款。 请勿将本知识用于恶意目的。
🔒 请保持系统更新并受到保护!