
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-33409 is an authentication bypass vulnerability in Parse Server (npm package parse-server) that allows an attacker to log in as any user who has linked a third-party authentication provider, without knowing the user's credentials. The attacker only needs to know the target user's provider ID to obtain a valid session token and gain full account access. This vulnerability exclusively affects deployments where the server option allowExpiredAuthDataToken is set to true (the default is false). It affects all versions prior to 8.6.52 (8.x branch) and versions >= 9.0.0 prior to 9.6.0-alpha.41 (9.x branch). Disclosed on March 19, 2026, it carries a CVSS v3.1 base score of 9.1 (Critical) and a CVSS v4.0 base score of 7.0 (High) (GitHub Advisory, Parse Server Advisory).
The root cause is improper authentication (CWE-287) in Parse Server's RestWrite.prototype.handleAuthData function in src/RestWrite.js. When allowExpiredAuthDataToken was set to true, the server's auth-data validation logic checked whether the incoming authData had mutated compared to stored data before invoking the auth provider's validateAuthData method. An attacker could send a login request with only a partial authData payload — specifically, just the provider id field without an access_token — which would be recognized as a subset of the stored data (not mutated), causing the server to skip provider validation entirely and grant a session token. The fix adds an explicit isLogin check to the condition, ensuring auth provider validation always runs on login regardless of the allowExpiredAuthDataToken setting (GitHub Advisory, Patch Commit 9.x, Patch Commit 8.x).
Successful exploitation allows an attacker to fully impersonate any user account that has a linked third-party authentication provider (e.g., OAuth, social login), gaining a valid session token without knowing the user's password or access token. This results in high confidentiality and integrity impact: the attacker can read sensitive user data, modify user records, and perform any action on behalf of the compromised account. Availability is not directly impacted, but the account takeover could facilitate lateral movement within the application, data exfiltration, or privilege escalation if compromised accounts hold elevated roles (GitHub Advisory, Parse Server Advisory).
No public proof-of-concept exploit code has been identified, and there is no evidence of in-the-wild exploitation at the time of disclosure (GitHub Advisory). The vulnerability is conditionally exploitable — it requires the non-default server configuration allowExpiredAuthDataToken: true to be present, which limits the exposed attack surface. The EPSS score is approximately 0.069% (8th percentile), indicating a low current probability of exploitation. No threat actor attribution has been reported, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.
allowExpiredAuthDataToken is set to true in the server configuration._User.authData field.id field in the authData payload, omitting the access_token:POST /1/users HTTP/1.1
Host: <parse-server-host>
Content-Type: application/json
X-Parse-Application-Id: <app-id>
X-Parse-REST-API-Key: <rest-key>
{"authData": {"<provider>": {"id": "<victim-provider-id>"}}}authData is a subset of the stored data and allowExpiredAuthDataToken is true, the server skips calling validateAuthData on the auth provider adapter, treating the login as valid.objectId and a valid sessionToken, granting full account access without any credentials (GitHub Advisory, Patch Commit 9.x)./1/users (or equivalent Parse Server login endpoint) containing authData payloads with only a provider id field and no access_token or other expected credential fields; repeated login attempts for the same provider ID from different source IPs./1/users where the request body contains minimal authData (e.g., {"authData": {"<provider>": {"id": "..."}}}) without accompanying token fields; absence of auth provider validation log entries for login events on servers with allowExpiredAuthDataToken: true._Session class records) for users with linked third-party providers, especially from unfamiliar IP addresses or user agents; user account data modifications shortly after an anomalous login event.Immediate workaround: Set allowExpiredAuthDataToken to false (the default value) or remove the option entirely from the Parse Server configuration. This prevents the bypass even on unpatched versions, as the vulnerable code path is only triggered when this option is true.
Patched versions:
8d7df56)98f4ba5); the stable release 9.6.0 also includes this fixNote: The allowExpiredAuthDataToken option has been deprecated (DEPPS20) and will be removed in a future major version. After patching, audit user accounts with linked third-party providers for unauthorized access, review authentication logs for anomalous login patterns, and consider forcing session invalidation for potentially affected accounts (Parse Server Advisory, GitHub Advisory).
The vulnerability was reported and patched by Parse Server maintainer mtrezza, who published the security advisory on March 19, 2026. The fix was released the same day in version 9.6.0-alpha.41 and subsequently included in the stable 9.6.0 release on March 22, 2026. No significant broader media coverage or notable external researcher commentary has been identified beyond the official advisory and automated vulnerability database entries (Parse Server Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."