🔴 严重 | CVE-2026-47724 — nebula-mesh is a self-hosted control plane for Sla...
🔴 【深度分析】严重安全漏洞:CVE-2026-47724
CVSS 评分: 严重(9.9)🔴 状态: Deferred 发布时间: 2026-07-23
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-47724 |
| CVSS 评分 | 9.9 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| CWE 分类 | CWE-862 |
| 发布时间 | 2026-07-23 |
| 最后更新 | 2026-07-30 |
| 状态 | Deferred |
| 数据来源 | security-advisories@github.com |
漏洞概述
CVE-2026-47724 是一个影响 nebula-mesh(Slack Nebula 网状虚拟私有网络的自托管控制平面)的严重授权缺失漏洞。该漏洞允许拥有非管理员 API 密钥的攻击者越权访问其他租户的资源,实现跨租户特权提升。其 CVSS 3.1 评分为 9.9(严重),攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限低(PR:L),无需用户交互(UI:N),且影响范围发生变化(S:C),对机密性、完整性和可用性均造成高影响。目前漏洞状态为“推迟(Deferred)”,但官方已在 0.3.4 版本中修复。
受影响组件与版本
| 组件 | 受影响版本范围 | 修复版本 |
|---|---|---|
| nebula-mesh 控制平面 API 服务(/api/v1/* 路由) | < 0.3.4 | 0.3.4 |
漏洞原理分析
Nebula-mesh 采用了基于 CA(证书颁发机构)的多租户架构(ADR 0002),每个操作者(operator)拥有独立的 CA 管理范围和对应的 API 密钥。然而,代码中授权机制存在严重割裂:
- 在 Web UI 层,通过
loadAccessibleCA(internal/web/cas.go)对状态变更路由进行了正确的 CA 所有权检查。 - 在 API 层(
internal/api/cas.go)中,CA 管理端点也实现了canAccessCA门控。 - 但 其他关键路由(如 host、network、firewall、mobile-bundle 以及大部分 operator 端点)仅依赖 bearer token 进行身份验证,未实施基于 CA 所有权的授权检查。代码库自身在
internal/api/hosts.go:384中注释承认:“API trusts the bearer token for authorisation; per-CA ownership is enforced only in the Web layer.”
攻击向量:攻击者只需获取任意非管理员 API 密钥(例如通过租户泄露、弱密钥泄漏或社会工程),即可利用这些缺失授权的端点操作其他 CA 下的资源,例如创建/删除主机、修改网络配置、操作防火墙规则等。由于 CVSS 向量中 PR:L 表明攻击者仅需低权限(普通用户/operator 权限),无需管理员权限即可实施攻击。
影响评估
- 攻击复杂度:低(AC:L),无需特殊条件或绕过复杂机制。
- 所需权限:低(PR:L),仅需要一个有效的非管理员 API 密钥。
- 用户交互:无(UI:N),可完全自动化利用。
- 影响范围:范围改变(S:C),漏洞突破了原租户隔离边界,影响整个系统的多租户安全性。
- 潜在后果:
- 最高风险:非管理员攻击者可完全控制其他租户的 Nebula 网络,包括添加恶意节点、篡改路由规则、阻止合法通信,导致网络瘫痪或数据泄露。
- 完整性破坏:可修改其他租户的防火墙策略或主机配置。
- 机密性破坏:可通过控制网络节点监听或重定向流量。
- 可用性破坏:可删除关键主机或切断网络连接。
该漏洞属于典型的授权缺失(CWE-862),由于其影响跨租户且无需管理员权限,实际威胁等级极高。
修复建议
官方修复
升级至 nebula-mesh 0.3.4 或更高版本。此版本在 API 层为所有 state-changing 端点添加了 canAccessCA 授权检查,确保每个操作仅允许在所属 CA 范围内执行。
临时缓解措施(无法立即升级时)
- 限制 API 密钥的暴露范围:严格管控非管理员 API 密钥的分发,审计所有已存在的密钥持有者。
- 网络隔离:通过防火墙或零信任策略,限制对 API 端点的外部访问,仅允许受信任的内网或 VPN 来源。
- 启用额外鉴权层:如使用反向代理(如 Nginx、Envoy)增加 IP 白名单或二次认证(如 mTLS)。
- 监控异常操作:重点监控跨 CA 的操作日志,如
create_host、update_network等涉及多个租户的行为。
参考资料
- CVE-2026-47724 NVD 官方页面
- CWE-862: Missing Authorization (https://cwe.mitre.org/data/definitions/862.html)
- nebula-mesh 官方安全公告(待补):参考 GitHub 安全公告页
security-advisories@github.com发布的通告 - 受影响的源代码位置说明:
internal/api/hosts.go:384、internal/api/cas.go、internal/web/cas.go
💬 评论