Parse Server has a SQL injection via query field name when using PostgreSQL
Moderate severity
GitHub Reviewed
Published
Mar 11, 2026
in
parse-community/parse-server
•
Updated Mar 12, 2026
Package
Affected versions
>= 9.0.0, < 9.6.0-alpha.10
< 8.6.36
Patched versions
9.6.0-alpha.10
8.6.36
Description
Published by the National Vulnerability Database
Mar 11, 2026
Published to the GitHub Advisory Database
Mar 12, 2026
Reviewed
Mar 12, 2026
Last updated
Mar 12, 2026
Impact
An attacker with access to the master key can inject malicious SQL via crafted field names used in query constraints when Parse Server is configured with PostgreSQL as the database. The field name in a
$regexquery operator is passed to PostgreSQL using unparameterized string interpolation, allowing the attacker to manipulate the SQL query. While the master key controls what can be done through the Parse Server abstraction layer, this SQL injection bypasses Parse Server entirely and operates at the database level.This vulnerability only affects Parse Server deployments using PostgreSQL.
Patches
The fix applies proper SQL identifier escaping to field names in the query handler and hardens query field name validation to reject malicious field names for all query types.
Workarounds
There is no known workaround.
References
References