VDB
KO
HIGH

GHSA-p2w6-rmh7-w8q3

Parse Server has SQL Injection through aggregate and distinct field names in PostgreSQL adapter

Details

### Impact

An attacker with master key access can execute arbitrary SQL statements on the PostgreSQL database by injecting SQL metacharacters into field name parameters of the aggregate `$group` pipeline stage or the `distinct` operation. This allows privilege escalation from Parse Server application-level administrator to PostgreSQL database-level access.

Only Parse Server deployments using PostgreSQL are affected. MongoDB deployments are not affected.

### Patches

Field names in the aggregate `$group._id` object values and `distinct` dot-notation parameters are now validated to only contain alphanumeric characters and underscores, preventing SQL injection via the `:raw` interpolation used in the PostgreSQL storage adapter.

### Workarounds

No workaround. Upgrade to a patched version.

Are you affected?

Enter the version of the package you're using.

Affected packages

npm / parse-server
Introduced in: 9.0.0 Fixed in: 9.6.0-alpha.53
Fix npm install parse-server@9.6.0-alpha.53
npm / parse-server
Introduced in: 0 Fixed in: 8.6.59
Fix npm install parse-server@8.6.59

References