📌漏洞介绍
Gorse是Gorse公司开源的一款基于 AI 的开源推荐系统引擎,用 Go 语言编写,支持经典推荐算法和 LLM 排序器,并能通过嵌入向量处理多模态内容(文本、图像、视频等)。
Gorse 0.5.10之前版本存在授权问题漏洞,该漏洞源于/api/dump和/api/restore端点在admin_api_key为空(默认配置)时存在认证绕过问题,可能导致未经身份验证的攻击者远程窃取整个数据库(包括用户记录、项目及包含个人身份信息的反馈数据)或完全覆盖数据集。
CVE-2026-56782 是 Gorse 推荐系统的一个高危认证绕过漏洞,其根源在于默认配置下的“失效开放”(fail-open)问题。
🚨 漏洞核心信息
| 项目 | 内容 |
|---|---|
| 漏洞编号 | CVE-2026-56782 |
| 风险等级 | 高危 (Critical),CVSS 3.1 评分为9.8 |
| 影响版本 | Gorse < 0.5.10 |
| 修复版本 | Gorse >= 0.5.10 |
| 漏洞类型 | CWE-306: 关键功能缺少身份验证 |
| 攻击复杂度 | 低,无需任何凭证,通过网络即可轻松利用 |
⚙️ 技术细节与影响
问题根源:Gorse 的默认配置文件
config/config.toml将管理密钥admin_api_key设置为空字符串""。失效逻辑:在
master/rest.go文件中,checkAdmin()函数的逻辑存在缺陷。当检测到admin_api_key为空时,函数会直接返回true,这意味着任何请求(无论是否携带 API Key)都会被系统视为管理员操作。受影响端点:主要是 Gorse 主(Master)HTTP 服务的两个管理端点:
GET /api/dump:用于导出数据库。POST /api/restore:用于恢复(覆盖)数据库。
💥 攻击原理与潜在危害(POC复现)
攻击者可以发送以下请求,无需任何认证即可利用此漏洞:
数据泄露:通过访问
GET /api/dump端点,攻击者可以窃取整个数据库,其中包含敏感的用户信息(PII)、物品数据和用户行为反馈数据。数据篡改与破坏:通过向
POST /api/restore端点提交恶意数据,攻击者可以完全覆盖系统数据集,导致数据投毒或服务不可用。
GET /api/dump HTTP/1.1 Host: 127.0.0.1:8088🛡️ 修复方案
官方已在0.5.10版本中修复了此漏洞。请采取以下措施:
升级版本(首选):立即将 Gorse 升级到0.5.10 或更高版本。
临时缓解措施:如果无法立即升级,可以:
在配置文件中为
admin_api_key设置一个非空值。使用防火墙或反向代理,限制对 Gorse API 端口(默认 8088)的访问,仅允许可信 IP 段。
🎨 语法
body="Gorse Dashboard "