CVE-2026-87806
HighCVSS 7.4Exploitation Probability (EPSS)
Low risk21th percentile - higher than 21% of all known CVEs
Summary
Parse Server versions <= 8.6.87 and >= 9.0.0 < 9.10.1-alpha.7 contain an authentication bypass in the built-in LDAP authentication adapter. The adapter forwards the client-supplied password without verifying it is provided and treats any non-error response as proof of authentication. An unauthenticated attacker knowing a directory username can obtain a valid session token for that account, leading to account takeover.
Risk Assessment
Risk of account takeover without knowing the password, potentially leading to unauthorized access to application data and functions. Only deployments with the LDAP adapter enabled are affected, and directories that refuse unauthenticated simple bind are not exploitable.
Recommendation
Upgrade Parse Server to version 8.6.88 or 9.10.1-alpha.7, which require a non-empty password and reject the request before contacting the directory. If immediate upgrade is not possible, consider disabling the LDAP adapter or configuring the directory to refuse unauthenticated simple bind.
Other vulnerabilities in Parse Server
See all- CVE-2026-34532Critical
Parse Server prior to versions 8.6.67 and 9.7.0-alpha.11 has a vulnerability where an attacker can bypass Cloud Function validator access controls by appending "prototype.constructor" to the function name in the URL. This causes all access control enforcement to be skipped, allowing unauthenticated callers to invoke protected Cloud Functions.
- CVE-2026-27804Critical
Parse Server prior to versions 8.6.3 and 9.1.1-alpha.4 is vulnerable to an attack where an unauthenticated attacker can forge a Google authentication token with 'alg: "none"', allowing them to log in as any user linked to a Google account without knowing their credentials.
- CVE-2025-67727Critical
Parse Server is an open source backend that can be deployed to any infrastructure that runs Node.js. In versions prior to 8.6.0-alpha.2, a GitHub CI workflow is triggered in a way that grants the GitHub Actions workflow elevated permissions, giving it access to GitHub secrets and write permissions which are defined in the workflow. Code from a fork or lifecycle scripts is potentially included. Only the repository's CI/CD infrastructure is affected, including any public GitHub forks with GitHub Actions enabled. This issue is fixed in version 8.6.0-alpha.2 and commits 6b9f896 and e3d27fe.
- CVE-2023-36475Critical
Parse Server prior to versions 5.5.2 and 6.2.1 is vulnerable to prototype pollution, which can lead to remote code execution through the MongoDB BSON parser.
- CVE-2026-66009Medium
Parse Server versions from 9.0.0 before 9.10.0-alpha.5 and from 8.2.2 before 8.6.86 return GraphQL validation error messages that name required custom input fields even when public introspection is disabled (graphQLPublicIntrospection: false, the default). A client holding only the public application ID, with no user session, master key, or maintenance key, can trigger validation errors to learn the names of required custom fields on classes it already references by name, partially defeating the schema-hiding intent of disabling public introspection. No stored data, credentials, optional field names, unreferenced class names, or Cloud Code function names are exposed.
- CVE-2026-66008Medium
Parse Server versions from 9.0.0 before 9.10.0-alpha.6 and from 8.2.2 before 8.6.87 disclose Pointer and Relation target class names through GraphQL validation and input-coercion error messages when public schema introspection is disabled (graphQLPublicIntrospection: false, the default). Because these errors are produced before authentication, authorization, or any resolver runs, an unauthenticated client possessing only the public application ID can trigger errors on Pointer or Relation fields to reconstruct hidden schema class names, partially defeating the schema-hiding protection. Only schema metadata (class names) is exposed; no object data, credentials, or user records are disclosed.
- CVE-2026-64627Medium
Vulnerability in Parse Server versions >= 9.0.0 before 9.10.0-alpha.4 and versions before 8.6.85 causes schema disclosure. Despite disabling public GraphQL introspection, variable coercion errors reveal 'Did you mean ...?' suggestions, allowing an unauthenticated attacker to recover hidden schema identifiers.
- CVE-2026-61448Low
Parse Server versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83 are affected by a stored XSS vulnerability. A malformed Content-Type (e.g., 'image//svg+xml') bypasses the file extension blocklist and is stored unchanged; on storage adapters like S3, GCS, or Azure, browsers fall back to MIME-sniffing and render HTML content, executing embedded scripts.
- CVE-2026-57481Low
A vulnerability in Parse Server allows a LiveQuery subscriber to receive object field values they are not authorized to read. This occurs when a single save operation changes both an object field and the subscriber's ACL read access, causing incorrect handling of leave and enter events.
- CVE-2026-57480High
A vulnerability in Parse Server allows blocking the Node.js event loop by sending deeply nested $or, $and, and $nor query condition operators via REST API or LiveQuery. Processing such queries can lead to exponential execution time, preventing other requests from being handled.
Original NVD description (English source)
Parse Server versions <= 8.6.87 and >= 9.0.0 < 9.10.1-alpha.7 contain an authentication bypass in the built-in LDAP authentication adapter. The adapter forwarded the client-supplied password to the directory without verifying that a password had been supplied, and treated any non-error response from the directory as proof of authentication. A zero-length credential turns an LDAP simple bind into the unauthenticated authentication mechanism described in RFC 4513 section 5.1.2, which some directories (including Active Directory in its default configuration) answer with success while mapping the connection to anonymous. As a result, an unauthenticated attacker who knows a directory username can obtain a valid session token for that account, resulting in account takeover. Only deployments that enable the LDAP authentication adapter are affected, and deployments whose directory refuses unauthenticated simple bind (such as a stock OpenLDAP configuration) are not exploitable. The issue is fixed in 8.6.88 and 9.10.1-alpha.7, which require the password to be a non-empty string and reject the request before contacting the directory.

