Miggo Logo

CVE-2020-15126: GraphQL: Security breach on Viewer query

6.5

CVSS Score
3.1

Basic Information

EPSS Score
0.6322%
Published
7/22/2020
Updated
10/26/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
parse-servernpm>= 3.5.0, < 4.3.04.3.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper authorization in the viewer query implementation. The commit 78239ac modifies usersQueries.js, which typically contains GraphQL query resolvers. The 'viewer' query specifically returns the authenticated user's data but lacked proper security checks. In Parse Server architecture, this resolver should validate() read permissions through ACLs and Class-Level Permissions (CLPs), but the vulnerable versions skipped these checks for the user's own object and related pointers/relations.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t *n *ut**nti**t** us*r usin* t** vi*w*r *r*p*QL qu*ry **n *yp*ss *ll r*** s**urity on *is Us*r o*j**t *n* **n *lso *yp*ss *ll o*j**ts link** vi* r*l*tion or Point*r on *is Us*r o*j**t. ### P*t***s T*is vuln*r**ility **s ***n p*t**** in P*r

Reasoning

T** vuln*r**ility st*ms *rom improp*r *ut*oriz*tion in t** vi*w*r qu*ry impl*m*nt*tion. T** *ommit ******* mo*i*i*s `us*rsQu*ri*s.js`, w*i** typi**lly *ont*ins *r*p*QL qu*ry r*solv*rs. T** 'vi*w*r' qu*ry sp**i*i**lly r*turns t** *ut**nti**t** us*r's