VDB
KO
MEDIUM

GHSA-f6j3-w9v3-cq22

Parse Server has a session field immutability bypass via falsy-value guard

Details

### Impact

An authenticated user can bypass the immutability guard on session fields (`expiresAt`, `createdWith`) by sending a null value in a PUT request to the session update endpoint. This allows nullifying the session expiry, making the session valid indefinitely and bypassing configured session length policies.

### Patches

The truthiness-based guard checks were replaced with key-presence checks that reject any value for protected session fields, including null.

### Workarounds

There is no known workaround. A `beforeSave` trigger on `_Session` could be used to reject null values for `expiresAt` and `createdWith`.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / parse-server
Introduced in: 9.0.0 Fixed in: 9.7.0-alpha.14
Fix npm install parse-server@9.7.0-alpha.14
npm / parse-server
Introduced in: 0 Fixed in: 8.6.69
Fix npm install parse-server@8.6.69

References