Parse Server漏洞预警:公开的explain查询可能泄露数据库敏感信息

Parse Server在8.5.0-alpha.5之前的版本中存在安全漏洞,允许任何客户端无需主密钥即可执行MongoDB的explain查询,导致数据库结构、索引配置和性能指标等敏感信息泄露。

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中暴露数据库诊断功能的风险。开发人员应尽快升级到修复版本,或实施推荐的临时解决方案,以保护数据库结构和性能指标等敏感信息不被未授权访问。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计