FKIE_CVE-2026-32742
Vulnerability from fkie_nvd - Published: 2026-03-18 22:16 - Updated: 2026-03-19 17:34
Severity ?
Summary
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.17 and 8.6.42, 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. Starting in version 9.6.0-alpha.17 and 8.6.42, the session creation endpoint filters out server-generated fields from user-supplied data, preventing them from being overwritten. As a workaround, add a `beforeSave` trigger on the `_Session` class to validate and reject or strip any user-supplied values for `sessionToken`, `expiresAt`, and `createdWith`.
References
Impacted products
| Vendor | Product | Version | |
|---|---|---|---|
| parseplatform | parse-server | * | |
| parseplatform | parse-server | * | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 | |
| parseplatform | parse-server | 9.6.0 |
{
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "74FED6F8-6BC3-4520-8AD4-BCC51670F9D3",
"versionEndExcluding": "8.6.42",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*",
"matchCriteriaId": "1BAC01F8-0899-482C-8D91-64671BF2859A",
"versionEndExcluding": "9.6.0",
"versionStartIncluding": "9.0.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha1:*:*:*:node.js:*:*",
"matchCriteriaId": "BBED261F-CA1B-44BC-9C3A-37378590EFEE",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha10:*:*:*:node.js:*:*",
"matchCriteriaId": "418338C9-6AEC-492C-ACA4-9B3C0AAE149C",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha11:*:*:*:node.js:*:*",
"matchCriteriaId": "808B6482-BF8E-407D-8462-E757657CC323",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha12:*:*:*:node.js:*:*",
"matchCriteriaId": "B84C28F8-AADE-41BB-A0EF-B701AB57DC3A",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha13:*:*:*:node.js:*:*",
"matchCriteriaId": "7567BB81-7837-4265-B792-6A9B73CECF93",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha14:*:*:*:node.js:*:*",
"matchCriteriaId": "0035C6F1-21B9-42D1-BE29-690905F3558C",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha15:*:*:*:node.js:*:*",
"matchCriteriaId": "623FB30A-0693-4449-80FA-16D36B1BE66C",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha16:*:*:*:node.js:*:*",
"matchCriteriaId": "9B420167-CD3E-45A7-AD9A-0F83AEC634BA",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha3:*:*:*:node.js:*:*",
"matchCriteriaId": "DF340605-8CC8-4543-9F5D-E8602D258CED",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha4:*:*:*:node.js:*:*",
"matchCriteriaId": "A052DFCA-EDCC-43D7-82C7-E5311F6F7687",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha5:*:*:*:node.js:*:*",
"matchCriteriaId": "12B11714-B961-4330-B241-FC5AF94FDBE8",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha6:*:*:*:node.js:*:*",
"matchCriteriaId": "37A7C42B-4986-4BB6-BB27-0324A9AA1CFF",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha7:*:*:*:node.js:*:*",
"matchCriteriaId": "C793834B-64B4-4DE9-BD7D-79B52C30C34E",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha8:*:*:*:node.js:*:*",
"matchCriteriaId": "7AD455C8-88BE-4A0A-B33D-3A7811FFB753",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:parseplatform:parse-server:9.6.0:alpha9:*:*:*:node.js:*:*",
"matchCriteriaId": "26C475A2-997C-4C3A-8CB6-04AB3534BBC3",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.17 and 8.6.42, 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\u0027s session expiration policy by setting an arbitrary far-future expiration date. It also allows setting a predictable session token value. Starting in version 9.6.0-alpha.17 and 8.6.42, the session creation endpoint filters out server-generated fields from user-supplied data, preventing them from being overwritten. As a workaround, add a `beforeSave` trigger on the `_Session` class to validate and reject or strip any user-supplied values for `sessionToken`, `expiresAt`, and `createdWith`."
},
{
"lang": "es",
"value": "Parse Server es un backend de c\u00f3digo abierto que puede ser desplegado en cualquier infraestructura que pueda ejecutar Node.js. Antes de 9.6.0-alpha.17 y 8.6.42, un usuario autenticado puede sobrescribir campos de sesi\u00f3n generados por el servidor (\u0027sessionToken\u0027, \u0027expiresAt\u0027, \u0027createdWith\u0027) al crear un objeto de sesi\u00f3n a trav\u00e9s de \u0027POST /classes/_Session\u0027. Esto permite eludir la pol\u00edtica de expiraci\u00f3n de sesi\u00f3n del servidor al establecer una fecha de expiraci\u00f3n arbitraria en un futuro lejano. Tambi\u00e9n permite establecer un valor de token de sesi\u00f3n predecible. A partir de la versi\u00f3n 9.6.0-alpha.17 y 8.6.42, el endpoint de creaci\u00f3n de sesi\u00f3n filtra los campos generados por el servidor de los datos proporcionados por el usuario, impidiendo que sean sobrescritos. Como soluci\u00f3n alternativa, a\u00f1ada un disparador \u0027beforeSave\u0027 en la clase \u0027_Session\u0027 para validar y rechazar o eliminar cualquier valor proporcionado por el usuario para \u0027sessionToken\u0027, \u0027expiresAt\u0027 y \u0027createdWith\u0027."
}
],
"id": "CVE-2026-32742",
"lastModified": "2026-03-19T17:34:20.310",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "LOW",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N",
"version": "3.1"
},
"exploitabilityScore": 2.8,
"impactScore": 1.4,
"source": "security-advisories@github.com",
"type": "Secondary"
}
]
},
"published": "2026-03-18T22:16:25.183",
"references": [
{
"source": "security-advisories@github.com",
"tags": [
"Issue Tracking"
],
"url": "https://github.com/parse-community/parse-server/pull/10195"
},
{
"source": "security-advisories@github.com",
"tags": [
"Issue Tracking"
],
"url": "https://github.com/parse-community/parse-server/pull/10196"
},
{
"source": "security-advisories@github.com",
"tags": [
"Vendor Advisory"
],
"url": "https://github.com/parse-community/parse-server/security/advisories/GHSA-5v7g-9h8f-8pgg"
}
],
"sourceIdentifier": "security-advisories@github.com",
"vulnStatus": "Analyzed",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-915"
}
],
"source": "security-advisories@github.com",
"type": "Primary"
}
]
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…