Parse Server安全漏洞分析:公开的explain查询泄露数据库敏感信息
漏洞概述
Parse Server是一款可以部署在任何能运行Node.js的基础设施上的开源后端框架。在版本8.5.0-alpha.5之前,Parse Server存在一个安全漏洞,允许任何客户端无需主密钥即可执行MongoDB的explain()查询,这可能导致敏感的数据库信息泄露。
技术细节
漏洞影响
MongoDB的explain()方法提供查询执行计划的详细信息,包括:
- 索引使用情况
- 集合扫描行为
- 性能指标
该漏洞使攻击者能够获取:
- 数据库模式结构和字段名称
- 索引配置和查询优化细节
- 查询执行统计数据和性能指标
- 数据库性能利用的潜在攻击向量
影响范围
受影响版本:所有低于8.5.0-alpha.5的Parse Server版本
解决方案
已修复版本
版本8.5.0-alpha.5引入了新的databaseOptions.allowPublicExplain配置选项,该选项允许将explain查询限制为仅限主密钥使用。
配置说明
- 该选项当前默认值为
true,以避免对依赖公开explain可用性的生产系统造成破坏性变更 - 当选项未显式设置或设置为
true时,会记录安全警告 - 在Parse Server的未来主要版本中,默认值将更改为
false
临时解决方案
在应用补丁前,可以采取以下措施:
- 实现中间件来阻止非主密钥请求的
explain查询 - 在生产环境中监控和警报
explain查询的使用情况
安全评估
CVSS评分
该漏洞的CVSS 4.0向量评分为:CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N
弱点分类
该漏洞被归类为CWE-201:将敏感信息插入发送的数据,即代码向另一个参与者传输数据,但部分数据包含不应被该参与者访问的敏感信息。
参考信息
- GHSA ID: GHSA-7cx5-254x-cgrq
- GitHub Advisory: parse-community/parse-server#9890
- NVD记录发布时间:2025年11月10日
- 最后修改时间:2025年11月12日
总结
Parse Server的这一安全漏洞突显了在公开API中暴露数据库诊断功能的风险。开发人员应尽快升级到修复版本,或实施推荐的临时解决方案,以保护数据库结构和性能指标等敏感信息不被未授权访问。