IPBUF安全漏洞报告
English
CVE-2026-34976 CVSS 10.0 严重

CVE-2026-34976 Dgraph未授权访问与SSRF漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-34976
漏洞类型
权限绕过/未授权访问
CVSS评分
10.0 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Dgraph

相关标签

权限绕过未授权访问SSRF文件读取Dgraph

漏洞概述

Dgraph是一个开源分布式GraphQL数据库。在25.3.1版本之前,其`restoreTenant`管理接口未在授权中间件配置中正确注册,导致该接口完全无需认证即可访问。攻击者可利用此漏洞,通过控制备份源URL(包括`file://`协议)、S3/MinIO凭证等参数,执行未经授权的操作。该漏洞可能导致数据库被覆盖、服务器端敏感文件读取以及SSRF攻击。

技术细节

该漏洞的根本原因在于Dgraph服务端在处理管理员操作时的权限校验逻辑缺失。具体而言,`restoreTenant`接口在代码实现中未经过身份验证中间件的保护,直接暴露于公网接口。攻击者通过构造特制的GraphQL请求,调用`restoreTenant` mutation,并在参数中指定外部URL或本地文件路径。利用`file://`前缀,攻击者可读取服务器上的敏感配置文件;利用S3/MinIO参数,可探测内网服务(SSRF);通过上传恶意备份数据,可直接重写数据库内容。由于该接口权限极高,且无任何认证门槛,攻击者可在无需交互的情况下完全控制数据层,造成严重的机密性、完整性和可用性损失。

攻击链分析

STEP 1
步骤1:侦察
攻击者识别出目标Dgraph实例的Admin API端点(通常为/admin或/admin/graphql)。
STEP 2
步骤2:利用漏洞
攻击者向目标发送未认证的GraphQL请求,调用`restoreTenant` mutation,并注入恶意的`location`参数(如file:///etc/passwd)。
STEP 3
步骤3:执行攻击
服务器因缺少中间件校验,直接处理请求。若使用file://协议,服务器读取本地文件;若使用HTTP URL,则触发SSRF请求。
STEP 4
步骤4:造成影响
攻击者获取敏感文件内容,探测内网服务,或通过恶意备份数据覆盖整个数据库,导致数据丢失或篡改。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
mutation { restoreTenant(input: { location: "file:///etc/passwd", accessKey: "hacker", secretKey: "hacker", encryptionKeyFile: "/etc/ssl/private/key" }) { response { code message } } }

影响范围

Dgraph < 25.3.1

防御指南

临时缓解措施
如果无法立即升级,建议通过网络访问控制列表(ACL)或防火墙规则,限制对Dgraph Admin端口的访问,仅允许受信任的IP地址连接。此外,应监控异常的GraphQL请求流量,特别是针对`restoreTenant`的调用。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表