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.
The truthiness-based guard checks were replaced with key-presence checks that reject any value for protected session fields, including null.
There is no known workaround. A beforeSave trigger on _Session could be used to reject null values for expiresAt and createdWith.
{
"cwe_ids": [
"CWE-697"
],
"github_reviewed_at": "2026-04-01T00:03:19Z",
"github_reviewed": true,
"severity": "MODERATE",
"nvd_published_at": "2026-03-31T16:16:33Z"
}