VDB
KO
CRITICAL

GHSA-q3vj-96h2-gwvg

Parse Server vulnerable to SQL injection via `Increment` operation on nested object field in 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 `amount` value is interpolated directly into the SQL query without parameterization or type validation. An attacker who can send write requests to the Parse Server REST API can inject arbitrary SQL subqueries to read any data from the database, bypassing CLPs and ACLs.

MongoDB deployments are not affected.

### Patches

The fix adds type validation to reject non-number values and parameterizes the value in the SQL query instead of interpolating it.

### Workarounds

There is no known workaround.

### References

- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-q3vj-96h2-gwvg - Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.6.0-alpha.3 - Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.29

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.3
Fix npm install parse-server@9.6.0-alpha.3
npm / parse-server
Introduced in: 0 Fixed in: 8.6.29
Fix npm install parse-server@8.6.29

References