CVE-2026-31871: Parse Server has a SQL Injection via dot-notation sub-key name in `Increment` operation on PostgreSQL
Impact
A SQL injection vulnerability exists in the PostgreSQL storage adapter when processing Increment operations on nested object fields using dot notation (e.g., stats.counter). The sub-key name is interpolated directly into SQL string literals without escaping. An attacker who can send write requests to the Parse Server REST API can inject arbitrary SQL via a crafted sub-key name containing single quotes, potentially executing commands or reading data from the database, bypassing CLPs and ACLs.
Only Postgres deployments are affected.
Patches
The fix escapes single quotes in the sub-key name before interpolating it into the SQL query, preventing breakout from SQL string literals.
Workarounds
There is no known workaround.
References
- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-gqpp-xgvh-9h7h - Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.6.0-alpha.5 - Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.31
Other sources
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.5 and 8.6.31, a SQL injection vulnerability exists in the PostgreSQL storage adapter when processing Increment operations on nested object fields using dot notation (e.g., stats.counter). The sub-key name is interpolated directly into SQL string literals without escaping. An attacker who can send write requests to the Parse Server REST API can inject arbitrary SQL via a crafted sub-key name containing single quotes, potentially executing commands or reading data from the database, bypassing CLPs and ACLs. Only Postgres deployments are affected. This vulnerability is fixed in 9.6.0-alpha.5 and 8.6.31.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-31871?
CVE-2026-31871 is classified as a SQL injection vulnerability affecting the PostgreSQL storage adapter.
How do I fix CVE-2026-31871?
To mitigate CVE-2026-31871, upgrade to parse-server version 8.6.31 or 9.6.0-alpha.5.
What types of operations are affected by CVE-2026-31871?
CVE-2026-31871 affects Increment operations on nested object fields using dot notation.
Who is vulnerable to CVE-2026-31871?
Any application using the vulnerable versions of parse-server with PostgreSQL as a storage adapter is at risk of CVE-2026-31871.
What can an attacker achieve with CVE-2026-31871?
An attacker exploiting CVE-2026-31871 can execute arbitrary SQL queries on the database.