Description
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.
Problem types
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
CWE-345: Insufficient Verification of Data Authenticity
Product status
< 8.6.3
References
github.com/...server/security/advisories/GHSA-4q3h-vp4r-prv2
github.com/...ommit/9b94083accb7f3e72c6b8126c195c7a03dd2dfd7
github.com/...ommit/9d5942d50e55c822924c27b05aa98f1393e7a330
github.com/parse-community/parse-server/releases/tag/8.6.3
github.com/...munity/parse-server/releases/tag/9.3.1-alpha.4