VDB
KO
CRITICAL

GHSA-gqpp-xgvh-9h7h

Parse Server vulnerable to SQL Injection via dot-notation sub-key name in `Increment` operation on PostgreSQL

Details

### 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

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / parse-server
Introduced in: 9.0.0-alpha.1 Fixed in: 9.6.0-alpha.5
Fix npm install parse-server@9.6.0-alpha.5
npm / parse-server
Introduced in: 0 Fixed in: 8.6.31
Fix npm install parse-server@8.6.31

References