作为全球应用最广泛的数据库系统之一,MongoDB 曝出高危漏洞,数据库管理员正面临严峻的安全紧急事件。该漏洞编号为CVE-2025-14847,未授权远程攻击者可通过漏洞诱导服务器泄露内存(堆区)中的敏感数据,甚至可能暴露系统内部状态及内存指针。
安全研究员乔・德西蒙已公开该漏洞的验证代码(PoC),此漏洞的 CVSS 评分达 8.7 分,意味着未打补丁的系统将面临极高安全风险。
该漏洞根源在于 MongoDB 对 Zlib 压缩协议头的处理机制存在缺陷,被归类为 **“长度参数不一致处理不当”** 漏洞。核心问题在于,服务器会盲目信任客户端声明的数据解压后长度,即便该数值与实际数据大小完全不符。
漏洞利用需通过一套巧妙的五步流程实现:
- 发送压缩消息,虚报解压后的预期数据长度(uncompressedSize);
- MongoDB 根据攻击者虚报数值分配超大内存缓冲区;
- Zlib 库将实际数据解压至该缓冲区起始位置;
- 漏洞触发后,MongoDB 误将整个缓冲区判定为合法有效数据;
- BSON 解析器从缓冲区未初始化的内存区域读取 “字段名”,直至读取到空字节为止。
CVE 官方漏洞描述警示:“Zlib 压缩协议头中长度字段不匹配,可能导致未授权客户端读取服务器未初始化的堆内存数据。”
CVE-2025-14847 漏洞最令人担忧的一点,是其无需任何身份认证即可利用。MongoDB 在官方安全公告中确认:“攻击者可通过客户端侧利用服务器端 Zlib 库实现漏洞,无需认证即可获取服务器未初始化堆内存数据。”
OP Innovate 专家指出,该漏洞可能导致内存中敏感数据泄露,包括系统内部状态信息、内存指针,以及其他可辅助攻击者实施进一步渗透的核心数据。
此次漏洞影响范围极广,覆盖 MongoDB 多款新版本及老旧遗留系统,受影响版本如下:
- 8.2.0 至 8.2.3 版本
- 8.0.0 至 8.0.16 版本
- 7.0.0 至 7.0.26 版本
- 6.0.0 至 6.0.26 版本
- 5.0.0 至 5.0.31 版本
- 4.4.0 至 4.4.29 版本
- 4.2、4.0、3.6 系列所有版本
MongoDB 已发布漏洞修复版本,强烈建议用户立即升级。安全补丁版本包括:8.2.3、8.0.17、7.0.28、6.0.27、5.0.32 及 4.4.30。
对于暂时无法升级的企业,可采用临时缓解方案:禁用 Zlib 压缩功能。管理员可在启动 mongod 或 mongos 实例时,配置 net.compression.compressors 参数,明确剔除 Zlib,改用 snappy 或 zstd 等替代压缩算法。
目前该漏洞验证代码(PoC)已在 GitHub 公开,安全防护人员亟需争分夺秒为数据库打补丁,避免威胁攻击者抢先利用漏洞,从受影响服务器的暴露内存中窃取核心机密。








发表评论
您还未登录,请先登录。
登录