2026-03-24 18:11CVE-2026-33409GitHub_M
PUBLISHED5.2CWE-287

Parse Server: Auth provider validation bypass on login via partial authData

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.52 and 9.6.0-alpha.41, an authentication bypass vulnerability 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 user's provider ID to gain full access to their account, including a valid session token. This affects Parse Server deployments where the server option allowExpiredAuthDataToken is set to true. The default value is false. This issue has been patched in versions 8.6.52 and 9.6.0-alpha.41.

Problem type

Affected products

parse-community

parse-server

< 8.6.52 - AFFECTED

>= 9.0.0, < 9.6.0-alpha.41 - AFFECTED

References

GitHub Security Advisories

GHSA-pfj7-wv7c-22pr

Parse Server has an auth provider validation bypass on login via partial authData

https://github.com/advisories/GHSA-pfj7-wv7c-22pr

Impact

An authentication bypass vulnerability 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 user's provider ID to gain full access to their account, including a valid session token.

This affects Parse Server deployments where the server option allowExpiredAuthDataToken is set to true. The default value is false.

Patches

Auth providers are now always validated on login, regardless of the allowExpiredAuthDataToken setting. The option allowExpiredAuthDataToken has been deprecated and will be removed in a future major version.

Workarounds

Set allowExpiredAuthDataToken to false (the default) or remove the option from the server configuration.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2026-33409
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2026-33409",
    "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
    "assignerShortName": "GitHub_M",
    "dateUpdated": "2026-03-24T18:11:36.824Z",
    "dateReserved": "2026-03-19T17:02:34.171Z",
    "datePublished": "2026-03-24T18:11:36.824Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "shortName": "GitHub_M",
        "dateUpdated": "2026-03-24T18:11:36.824Z"
      },
      "title": "Parse Server: Auth provider validation bypass on login via partial authData",
      "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 versions 8.6.52 and 9.6.0-alpha.41, an authentication bypass vulnerability 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 user's provider ID to gain full access to their account, including a valid session token. This affects Parse Server deployments where the server option allowExpiredAuthDataToken is set to true. The default value is false. This issue has been patched in versions 8.6.52 and 9.6.0-alpha.41."
        }
      ],
      "affected": [
        {
          "vendor": "parse-community",
          "product": "parse-server",
          "versions": [
            {
              "version": "< 8.6.52",
              "status": "affected"
            },
            {
              "version": ">= 9.0.0, < 9.6.0-alpha.41",
              "status": "affected"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "lang": "en",
              "description": "CWE-287: Improper Authentication",
              "cweId": "CWE-287",
              "type": "CWE"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://github.com/parse-community/parse-server/security/advisories/GHSA-pfj7-wv7c-22pr",
          "name": "https://github.com/parse-community/parse-server/security/advisories/GHSA-pfj7-wv7c-22pr",
          "tags": [
            "x_refsource_CONFIRM"
          ]
        },
        {
          "url": "https://github.com/parse-community/parse-server/pull/10246",
          "name": "https://github.com/parse-community/parse-server/pull/10246",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/parse-community/parse-server/pull/10247",
          "name": "https://github.com/parse-community/parse-server/pull/10247",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/parse-community/parse-server/commit/8d7df5639c4a35768fe8b78b4580b30e8a74721c",
          "name": "https://github.com/parse-community/parse-server/commit/8d7df5639c4a35768fe8b78b4580b30e8a74721c",
          "tags": [
            "x_refsource_MISC"
          ]
        },
        {
          "url": "https://github.com/parse-community/parse-server/commit/98f4ba5bcf2c199bfe6225f672e8edcd08ba732d",
          "name": "https://github.com/parse-community/parse-server/commit/98f4ba5bcf2c199bfe6225f672e8edcd08ba732d",
          "tags": [
            "x_refsource_MISC"
          ]
        }
      ],
      "metrics": [
        {}
      ]
    }
  }
}