Miggo Logo

CVE-2022-39225: parse-server's session object properties can be updated by foreign user if object ID is known

4.3

CVSS Score
3.1

Basic Information

EPSS Score
0.25568%
Published
9/21/2022
Updated
1/27/2023
KEV Status
No
Technology
TechnologyJavaScript

Technical Details

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

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insufficient access control in session object handling. The commit diff shows the fix added a user ownership check to the query in RestWrite.js's handleSession method. Before the patch, there was no mechanism to ensure the requesting user matched the session's user field, allowing foreign session modification. The test case added in ParseSession.spec.js demonstrates this exploit scenario. The direct modification of write authorization logic in RestWrite.prototype.handleSession is the clear root cause.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t * *or*i*n us*r **n writ* to t** s*ssion o*j**t o* *not**r us*r i* t** s*ssion o*j**t I* is known. *or *x*mpl*, * *or*i*n us*r **n *ssi*n t** s*ssion o*j**t to t**ir own us*r *y writin* to t** `us*r` *i*l* *n* t**n r*** *ny *ustom *i*l*s o

Reasoning

T** vuln*r**ility st*ms *rom insu**i*i*nt ****ss *ontrol in s*ssion o*j**t **n*lin*. T** *ommit *i** s*ows t** *ix ***** * us*r own*rs*ip ****k to t** qu*ry in `R*stWrit*.js`'s `**n*l*S*ssion` m*t*o*. ***or* t** p*t**, t**r* w*s no m****nism to *nsur