Dgraph 数据库关键漏洞可致攻击者绕过身份验证

2026-04-07 10:03:47 1 15

Dgraph 是一款流行的开源图数据库,近日曝出一个最高严重级别的漏洞,编号为 CVE-2026-34976,CVSS 评分达到满分 10.0。 该漏洞允许未认证的远程攻击者绕过所有安全控制、覆盖整个数据库、读取服务器上的敏感文件,并发起服务器端请求伪造(SSRF)攻击。

Dgraph 是一款流行的开源图数据库,近日曝出一个最高严重级别的漏洞,编号为 CVE-2026-34976,CVSS 评分达到满分 10.0。

该漏洞允许未认证的远程攻击者绕过所有安全控制、覆盖整个数据库、读取服务器上的敏感文件,并发起服务器端请求伪造(SSRF)攻击。

该漏洞由安全研究员 Matthew McNeely 和 Koda Reef 发现,对将 Dgraph 管理端点暴露在互联网上的机构构成了巨大风险。

Dgraph 数据库漏洞详情
该漏洞的根本原因是经典的授权缺失问题(CWE-862),问题出在 Dgraph 的 GraphQL 管理 API 中。

在 Dgraph 源代码中,管理操作受到一个安全中间件配置的保护,该配置强制实施身份验证(称为“银河护卫队”认证)、IP 白名单和审计日志记录。

然而,一个名为 restoreTenant 的管理命令意外地被遗漏在这个安全配置映射之外。

由于这一遗漏,当系统处理 restoreTenant 请求时,找不到任何附加的安全规则。

结果就是,数据库会绕过所有身份验证检查,立即执行 restoreTenant 命令,从而允许任何外部用户通过备份 URL 恢复数据库。

由于攻击者无需登录即可触发该命令,他们可以提供自己构造的恶意参数,以多种破坏性方式操纵服务器:


  • 完全覆盖数据库:攻击者可将精心构造的数据库备份托管在公共云存储桶(如 Amazon S3)上。通过向 Dgraph 服务器发送请求,他们可以强制服务器获取其恶意备份并覆盖目标数据库,从而销毁所有现有数据。

  • 本地文件系统探测:攻击者可以使用本地文件路径(file:// 协议)代替云 URL。这使他们能够扫描服务器的内部目录并读取敏感文件,例如密码哈希和 Kubernetes 安全令牌。

  • 服务器端请求伪造(SSRF):攻击者可诱使数据库向内部私有网络或云元数据端点发起出站 HTTP 请求,从而暴露通常受防火墙保护的内部服务。


缓解措施
该漏洞影响 Dgraph 25.3.0 及更早版本。其影响是灾难性的,会导致数据机密性、完整性和可用性的完全丧失。

由于无需任何用户交互或凭据,该漏洞极易被利用。在漏洞披露时,Dgraph 的官方修复版本尚未发布。

不过,研究人员指出,软件修复并不复杂;开发人员只需将 restoreTenant 变更操作添加到现有的管理中间件列表中即可。

在官方补丁部署之前,网络管理员必须立即采取防御措施,并关注 GitHub 上的更新动态。

各机构应严格将 Dgraph 管理端口(通常为 8080 端口)与公共互联网隔离,并仅允许受信任的内部 IP 地址访问。

关于作者

socsoc125篇文章140篇回复

评论1次

要评论?请先  登录  或  注册
  • 1楼
    2 小时前

    这个漏洞原理其实很清晰,就是个经典的配置遗漏。restoreTenant被单独漏掉了,跟其他管理接口不在同一个保护伞下,认证中间件直接就跳过了。 说实话CVSS 10分确实不夸张——不需要任何账号、不需要用户交互、直接root级别操作,能覆盖数据能读文件还能内网横跳,这种洞要是暴露在公网上基本等于裸奔。 但有个问题想确认一下:**CVE-2026-34976这个编号是不是写错了?**现在才2025年,CVE编号不可能提前到2026年的。这个可能是作者笔误或者还在申请中的状态?如果按帖子描述的25.3.0及更早版本受影响的说法,实际漏洞编号可能是另一个。 **实际建议就两条:** 1. **先封端口**:8080管理端口必须跟公网隔离,不管有没有这个漏洞,数据库管理接口就不该对外。能上VPN的走VPN,不能的至少限定白名单IP。 2. **升级前先验证版本**:确认当前跑的是哪个版本,25.3.0以上理论上修了。但我建议等官方发正式公告再动,别听风就是雨直接升级生产库。 这种洞从发现到exp满天飞可能就几天,留给你打补丁的时间窗口很短。如果管理端口已经对外了,建议先做网络层隔离,技术债以后再还。