Parse Server: Account takeover via JWT algorithm confusion in Google auth adapter
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.3 and 9.1.1-alpha.4, an unauthenticated attacker can forge a Google authentication token with `alg: "none"` to log in as any user linked to a Google account, without knowing their credentials. All deployments with Google authentication enabled are affected. The fix in versions 8.6.3 and 9.1.1-alpha.4 hardcodes the expected `RS256` algorithm instead of trusting the JWT header, and replaces the Google adapter's custom key fetcher with `jwks-rsa` which rejects unknown key IDs. As a workaround, dsable Google authentication until upgrading is possible.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-27804
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 16:44 UTC · Revision 1
Source evidence
Parse Server: Account takeover via JWT algorithm confusion in Google auth adapter
core-osv · Original sourcePublished 25 Feb 2026, 23:48 UTC
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.3 and 9.1.1-alpha.4, an unauthenticated attacker can forge a Google authentication token with `alg: "none"` to log in as any user linked to a Google account, without knowing their credentials. All deployments with Google authentication enabled are affected. The fix in versions 8.6.3 and 9.1.1-alpha.4 hardcodes the expected `RS256` algorithm instead of trusting the JWT header, and replaces the Google adapter's custom key fetcher with `jwks-rsa` which rejects unknown key IDs. As a workaround, dsable Google authentication until upgrading is possible.
osv:CVE-2026-27804
Complete source record
{
"id": "d8f346ed329600680f945533fd6b8c8dd0f6de7fa50861bf00d0b5394c770c88",
"url": "https://osv.dev/vulnerability/CVE-2026-27804",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Parse Server: Account takeover via JWT algorithm confusion in Google auth adapter",
"summary": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.3 and 9.1.1-alpha.4, an unauthenticated attacker can forge a Google authentication token with `alg: \"none\"` to log in as any user linked to a Google account, without knowing their credentials. All deployments with Google authentication enabled are affected. The fix in versions 8.6.3 and 9.1.1-alpha.4 hardcodes the expected `RS256` algorithm instead of trusting the JWT header, and replaces the Google adapter's custom key fetcher with `jwks-rsa` which rejects unknown key IDs. As a workaround, dsable Google authentication until upgrading is possible.",
"evidence": "osv:CVE-2026-27804",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2026-27804",
"aliases": [
"BIT-parse-2026-27804",
"CVE-2026-27804",
"GHSA-4q3h-vp4r-prv2"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/parse-community/parse-server",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "9f28ff56639bbae54cd0beddd4b2eaf0fccd13f7"
},
{
"introduced": "532a461d30a6ed4457839f2caf5f30d5abf51a55"
},
{
"fixed": "5d94d2b83a3fc844f66993a418f4f0d336ea176e"
},
{
"fixed": "9b94083accb7f3e72c6b8126c195c7a03dd2dfd7"
},
{
"fixed": "9d5942d50e55c822924c27b05aa98f1393e7a330"
},
{
"fixed": "86f9ffd5a04a0c0dcba7f36a031e0f4c5d41256d"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "8.6.3"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "9.0.0"
},
{
"fixed": "9.3.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "9b94083accb7f3e72c6b8126c195c7a03dd2dfd7"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "9d5942d50e55c822924c27b05aa98f1393e7a330"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "9f28ff56639bbae54cd0beddd4b2eaf0fccd13f7"
}
],
"source": "REFERENCES_TAG",
"original_tag": "8.6.3"
},
{
"range": [
{
"fixed": "86f9ffd5a04a0c0dcba7f36a031e0f4c5d41256d"
}
],
"source": "REFERENCES_TAG",
"original_tag": "9.3.1-alpha.4"
}
]
}
}
],
"versions": [
"9.3.0",
"8.6.2",
"9.3.1-alpha.3",
"9.3.1-alpha.2",
"9.3.1-alpha.1",
"9.2.0",
"9.1.1",
"9.1.0",
"8.6.1",
"9.0.0",
"8.6.0",
"8.5.0",
"8.4.0",
"8.3.0",
"8.2.5",
"8.2.4",
"8.2.3",
"8.2.2",
"8.2.1",
"8.2.0",
"8.1.0",
"8.0.2",
"8.0.1",
"8.0.0",
"7.4.0",
"7.3.0",
"7.2.0",
"7.1.0",
"7.0.0",
"6.4.0",
"6.3.1",
"6.3.0",
"6.2.2",
"6.2.1",
"6.2.0",
"6.1.0",
"6.0.0",
"5.4.0",
"5.3.3",
"5.3.2",
"5.3.1",
"5.3.0",
"5.2.8",
"5.2.7",
"5.2.6",
"5.2.5",
"5.2.4",
"5.2.3",
"5.2.2",
"5.2.1",
"5.2.0",
"5.1.1",
"5.1.0",
"5.0.0",
"5.0.0-alpha.1",
"4.5.0",
"4.4.0",
"4.3.0",
"4.2.0",
"4.1.0",
"4.0.2",
"4.0.1",
"4.0.0",
"3.10.0",
"3.9.0",
"3.8.0",
"3.7.2",
"3.7.1",
"3.7.0",
"3.6.0",
"3.5.0",
"3.4.0",
"3.4.1",
"3.3.0",
"3.2.3",
"3.2.2",
"3.2.1",
"3.2.0",
"3.1.3",
"3.1.2",
"3.1.1",
"3.1.0",
"3.0.0",
"2.8.2",
"2.8.0",
"2.7.4",
"2.7.3",
"2.7.2",
"2.7.1",
"2.7.0",
"2.6.5",
"2.6.4",
"2.6.3",
"2.6.2",
"2.6.1",
"2.6.0",
"2.5.3",
"2.5.2",
"2.5.1",
"2.5.0",
"2.4.2",
"2.4.1",
"2.4.0",
"2.3.8",
"2.3.7",
"2.3.6",
"2.3.5",
"2.3.4",
"2.3.3",
"2.3.2",
"2.3.1",
"2.2.25",
"2.2.25-beta.1",
"2.2.24",
"2.2.23",
"2.2.22",
"2.2.21",
"2.2.20",
"2.2.19",
"2.2.18",
"2.2.17",
"2.2.16",
"2.2.15",
"2.2.14",
"2.2.13",
"2.2.12",
"2.2.11",
"2.2.10",
"2.2.9",
"2.2.8",
"2.2.7",
"2.2.6",
"2.2.5",
"2.2.4",
"2.2.3",
"2.2.2",
"2.2.1",
"2.2.0",
"2.1.6",
"2.1.5",
"2.1.4",
"2.1.3",
"2.1.2",
"2.1.1",
"2.1.0",
"2.0.8",
"2.0.7",
"2.0.3",
"2.0.6",
"2.0.5",
"2.0.4",
"2.0.2",
"2.0.1",
"2.0.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-27804.json"
}
}
],
"modified": "2026-10-28T02:30:30.729331361Z",
"provider": "osv",
"references": [
"https://github.com/parse-community/parse-server/releases/tag/8.6.3",
"https://github.com/parse-community/parse-server/releases/tag/9.3.1-alpha.4",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27804.json",
"https://github.com/parse-community/parse-server/security/advisories/GHSA-4q3h-vp4r-prv2",
"https://nvd.nist.gov/vuln/detail/CVE-2026-27804",
"https://github.com/parse-community/parse-server/commit/9b94083accb7f3e72c6b8126c195c7a03dd2dfd7",
"https://github.com/parse-community/parse-server/commit/9d5942d50e55c822924c27b05aa98f1393e7a330"
],
"provider_metadata": {
"cwe_ids": [
"CWE-327",
"CWE-345"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/27xxx/CVE-2026-27804.json"
}
},
"related_cves": [
{
"value": "CVE-2026-27804",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 497526,
"published_at": "2026-02-25T23:48:20.858+00:00"
}