GHSA-48mh-j4p5-7j9v
Parse Server missing audience validation in Keycloak authentication adapter
Details
### Impact
The Keycloak authentication adapter does not validate the `azp` (authorized party) claim of Keycloak access tokens against the configured `client-id`. A valid access token issued by the same Keycloak realm for a *different* client application can be used to authenticate as any user on the Parse Server that uses the Keycloak adapter. This enables cross-application account takeover in multi-client Keycloak realms.
All Parse Server deployments that use the Keycloak authentication adapter with a Keycloak realm that has multiple client applications are affected.
### Patches
The fix replaces the userinfo HTTP call with local JWT verification and enforces `azp` claim validation against the configured `client-id`.
### Workarounds
None.
### References
- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-48mh-j4p5-7j9v - Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.5.2-alpha.5 - Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.18
Are you affected?
Enter the version of the package you're using.
Affected packages
9.0.0 Fixed in: 9.5.2-alpha.5 npm install parse-server@9.5.2-alpha.5 References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-48mh-j4p5-7j9v [WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2026-30949 [ADVISORY]
- https://github.com/parse-community/parse-server [PACKAGE]
- https://github.com/parse-community/parse-server/releases/tag/8.6.18 [WEB]
- https://github.com/parse-community/parse-server/releases/tag/9.5.2-alpha.5 [WEB]