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.
The session creation endpoint now filters out server-generated fields from user-supplied data, preventing them from being overwritten.
Add a beforeSave trigger on the _Session class to validate and reject or strip any user-supplied values for sessionToken, expiresAt, and createdWith.
{
"github_reviewed": true,
"github_reviewed_at": "2026-03-17T18:37:23Z",
"cwe_ids": [
"CWE-915"
],
"severity": "MODERATE",
"nvd_published_at": "2026-03-18T22:16:25Z"
}