Critical RCE Vulnerabilities in Mongoose (CVE-2024–53900 & CVE-2025–23061): Risks and Mitigation Strategies
Criminal IP Follow
4 min read · Mar 21, 2025
50
Listen
Share
Press enter or click to view image in full size
最近,OPSWAT 在其博客中分析了 Mongoose(MongoDB 和 Node.js 的对象数据建模库)中两个关键漏洞 CVE-2024–53900 和 CVE-2025–23061 的概念验证代码。当 Mongoose 暴露在互联网上时,可能引发严重安全风险,包括未授权访问、数据泄露、NoSQL 注入、远程代码执行和 DDoS 攻击。这两个漏洞的 CVSS v3 评分分别为 9.1 和 9.0,均可导致 RCE。本文将探讨如何使用 Criminal IP 资产搜索来检测互联网上暴露的 Mongoose 实例并评估其安全风险。
Mongoose RCE 漏洞 PoC:CVE-2024–53900 与 CVE-2025–23061
Mongoose 简化了 MongoDB 与 Node.js 应用之间的交互。根据 OPSWAT 的分析,这两个漏洞与 $where 操作符有关。当与 populate() 函数一起使用时,$where 操作符允许在 MongoDB 文档中查询数据。它也是 MongoDB 的一个查询操作符,能够执行任意 JavaScript 代码,从而定义特定的数据检索条件。如果攻击者利用 $where 操作符操纵查询,MongoDB 服务器可能无法识别该恶意操作,使得恶意代码在应用服务器本地执行。OPSWAT 的研究人员通过构造一个不会引发 MongoDB 服务器错误的查询,成功在 Node.js 应用服务器上执行了远程代码。
漏洞 CVE-2024–53900 在 Mongoose 8.8.3 版本中通过禁止在 match 属性内使用 $where 操作符进行了修复。然而,后续发现当 $where 操作符嵌套在 $or 操作符中时,仍然可以传递给 populate() 函数,从而产生了新漏洞 CVE-2025–23061。该问题已在 Mongoose 8.9.5 版本中修复,建议用户更新到最新版本以同时解决这两个漏洞。
受影响版本
- CVE-2024–53900:8.8.3 之前的版本
- CVE-2025–23061:8.9.5 之前的版本
暴露 Mongoose 实例的安全威胁
将 Mongoose 暴露到互联网会引发严重安全威胁,包括上述漏洞、未授权访问、数据泄露、NoSQL 注入、RCE 和 DDoS 攻击。
| 安全威胁 | 详细信息 |
|---|---|
| 未授权访问 | Mongoose 通常连接 MongoDB,若安全配置不当,数据库可被外部访问。MongoDB 未配置安全设置时允许无认证连接,攻击者可使用 find()、update()、delete() 等命令操纵数据。 |
| 数据泄露 | 当 Mongoose 管理的数据库对外暴露时,攻击者可利用 API 端点泄露敏感信息,尤其容易暴露用户数据、账户信息和机密数据。 |
| NoSQL 注入攻击 | 当 Mongoose 暴露于互联网,攻击者可通过 NoSQL 注入操纵数据库。例如,攻击者在登录 API 中输入 { "$gt": "" } 这样的载荷,即可绕过认证。 |
| 远程代码执行与服务器控制风险 | 攻击者可通过 Mongoose 在服务器内执行任意代码。如果存在 eval()、exec() 等函数或不当执行的查询,攻击者可能获得服务器控制权。 |
| DDoS 攻击风险 | 攻击者发送大量随机请求,可能使使用 Mongoose 的服务器过载,导致服务中断。 |
探索互联网上暴露的 Mongoose
使用 Criminal IP 资产搜索可以轻松识别暴露的 Mongoose 实例。
Criminal IP 搜索查询:
Mongoose product: "mongoose"
www.criminalip.io/asset/searc…
截至 2025 年 3 月 13 日,已识别出超过 27,000 个暴露于互联网的 Mongoose 实例,其中许多受到 CVE 影响的漏洞版本。在资产搜索中简单搜索 mongoose,即可查看 IP 地址是否受 CVE 影响以及所使用的版本。
此外,导航到特定 IP 地址的 IP 报告页面,可以查看该 IP 受影响的漏洞及其利用历史,还可以获取开放端口、IP 地址位置和 WHOIS 信息等详细信息。
结论
为了保护 MongoDB 和 Mongoose 免受互联网暴露的风险,必须应用最新补丁、加强网络配置、实施认证、设置防火墙并增强应用程序安全性。同时,建议使用像 Criminal IP 这样的网络威胁情报搜索引擎和像 Criminal IP ASM 这样的攻击面管理解决方案,进行持续的攻击面监控和自动检测。如果 MongoDB 的安全设置不足,数据泄露和服务器接管的风险会增加,因此务必全面应用上述安全措施。 CSD0tFqvECLokhw9aBeRqqy7pDVE9jtHSghPeFdiPyEcot6XSwtlxuJCHOQzH/s/OqjBHhkUisE97qkAIThbWRoZfD6jpS8zICCT+s+pDivwCXJuQJyjiSTLy6nT/bwNbFjMug1tMMukL50sUXucG1EouBtvCazqsVKkgsLOXbe+nvuruidVgH2He2PIfpcB