Impact
The MongoDB explain() method provides detailed information about query execution plans, including index usage, collection scanning behavior, and performance metrics. Parse Server permits any client to execute explain queries without requiring the master key. This exposes:
- Database schema structure and field names
- Index configurations and query optimization details
- Query execution statistics and performance metrics
- Potential attack vectors for database performance exploitation
Patches
A new databaseOptions.allowPublicExplain configuration option has been introduced that allows to restrict explain queries to the master key. The option defaults to true for now to avoid a breaking change in production systems that depends on public explain availability. In addition, a security warning is logged when the option is not explicitly set, or set to true. In a future major release of Parse Server, the default will change to false.
Workarounds
Implementing middleware to block explain queries from non-master-key requests, or monitor and alert on explain query usage in production environments.
References
Impact
The MongoDB
explain()method provides detailed information about query execution plans, including index usage, collection scanning behavior, and performance metrics. Parse Server permits any client to execute explain queries without requiring the master key. This exposes:Patches
A new
databaseOptions.allowPublicExplainconfiguration option has been introduced that allows to restrictexplainqueries to the master key. The option defaults totruefor now to avoid a breaking change in production systems that depends on publicexplainavailability. In addition, a security warning is logged when the option is not explicitly set, or set totrue. In a future major release of Parse Server, the default will change tofalse.Workarounds
Implementing middleware to block explain queries from non-master-key requests, or monitor and alert on explain query usage in production environments.
References