VDB
KO
MEDIUM 4.3

GHSA-5v7g-9h8f-8pgg

Parse Server session creation endpoint allows overwriting server-generated session fields

Details

### Impact

An authenticated user can overwrite server-generated session fields (`sessionToken`, `expiresAt`, `createdWith`) when creating a session object via `POST /classes/_Session`. This allows bypassing the server's session expiration policy by setting an arbitrary far-future expiration date. It also allows setting a predictable session token value.

### Patches

The session creation endpoint now filters out server-generated fields from user-supplied data, preventing them from being overwritten.

### Workarounds

Add a `beforeSave` trigger on the `_Session` class to validate and reject or strip any user-supplied values for `sessionToken`, `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.6.0-alpha.17
Fix npm install parse-server@9.6.0-alpha.17
npm / parse-server
Introduced in: 0 Fixed in: 8.6.42
Fix npm install parse-server@8.6.42

References