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.
References
Impact
An authenticated user can overwrite server-generated session fields (
sessionToken,expiresAt,createdWith) when creating a session object viaPOST /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
beforeSavetrigger on the_Sessionclass to validate and reject or strip any user-supplied values forsessionToken,expiresAt, andcreatedWith.References