
MongoDB已修复编号为CVE-2026-118383的严重漏洞,远程未认证攻击者仅需发送两个简单的ping请求,就可以导致数据库服务器崩溃。该漏洞CVSS v4.0评分为9.5。
漏洞存在于新主节点完成数据追平后的复制流程代码中。MongoDB于2026年11月10日发布修复公告,称该问题由内部发现,目前尚未监测到任何在野利用尝试。
漏洞属释放后使用缺陷,未授权请求就可以触发
GitHub安全公告显示,该漏洞属于释放后使用缺陷,即程序在某块内存已被释放的情况下,仍会继续调用该内存区域。
无需身份认证的请求就可以触发该缺陷,最终导致服务器突然关闭。特定场景下,攻击者还可能在服务器进程内实现任意代码执行。
仅副本集成员受该漏洞影响,包括分片集群中的分片节点和配置服务器节点。单实例mongod进程不会运行主节点追平步骤,因此不受该漏洞影响。
MongoDB选举时间线(图片来源:Datadog Security Labs)

Datadog Security Labs的研究人员披露了漏洞触发的完整链路。副本集成员赢得选举成为新主节点后,会先补全此前遗漏的写入操作,之后才会接收新的写入请求。该漏洞就存在于这一追平步骤结束后的清理流程中。
存在漏洞的服务器在登录前就可以接收ping命令。攻击者只需发送两个携带readConcern.afterOpTime参数的ping请求,每个请求都会残留一个待处理通知,MongoDB将这类通知称为waiter。这类waiter初始不会产生任何影响,会一直留存直到对应节点重启、回滚或卸任主节点。
要触发服务器崩溃,还需要满足两个攻击者无法控制的前提条件:某个副本集节点出现数据同步滞后,且该节点随后赢得选举成为新主节点。这类场景通常出现在系统维护或服务中断期间。
当追平流程结束时,清理逻辑会重复执行两次,访问已被释放的内存区域。服务器会在接收任何新写入操作前直接崩溃,且开启身份认证无法阻断这一初始触发流程。
Datadog研究人员搭建了包含4个节点的副本集测试环境,主动制造节点滞后与故障切换场景。在运行MongoDB 8.0.34版本的环境中发送两个ping请求后,新主节点记录到段错误,进程直接崩溃。
如果不发送这两个请求,相同的故障切换流程可以正常运行。在已打补丁的8.0.37版本中,服务器会以“未授权”为由拒绝这两个请求,持续正常运行。
研究团队在测试中未实现代码执行。团队同时提醒,测试中约40秒的触发时长不代表真实环境下的攻击速度。攻击者无法观测或选择触发时间窗口,这也是CVSS评级将该漏洞攻击复杂度评为“高”的原因。
官方发布全版本修复补丁,管理员需尽快升级
MongoDB已发布覆盖全版本分支的修复补丁,对应版本号为9.0.7、8.3.16、8.0.37、7.0.48、6.0.30、5.0.35、4.4.32。Atlas集群会在维护窗口期自动升级,MongoDB敦促此前推迟维护的用户尽快应用更新。
自行部署服务器的管理员需要检查所有节点的版本,包括容器实例以及补丁安装期间处于离线状态的节点。
如果无法立即完成升级,需要限制数据库服务的网络访问范围,仅开放给确有需求的系统。这种方式可以缩小可发送ping请求的主体范围,但无法从根本上修复漏洞。
主节点崩溃后,集群会在其他节点接管前失去写入能力。Datadog的测试显示,崩溃发生后集群曾长时间处于无主节点状态。
提供日志检测规则,警惕漏洞在野利用风险
Datadog建议管理员检查服务器结构化日志,排查携带readConcern.afterOpTime参数、包含等待过期记录的ping命令慢查询条目。
同时还要排查单轮主节点切换过程中两次退出同步状态的节点,以及后续出现的、提及CatchupState::abort_inlock()的致命信号。这些字段是否可见取决于日志配置,管理员需要确认日志记录了完整的命令内容。
这并非今年MongoDB首个可在登录前触发的漏洞。本网站此前曾报道CVE-2026-25611,这是一个压缩相关漏洞,未授权攻击者仅需极小带宽就可以打崩服务器。
我们此前还报道过MongoBleed内存泄露漏洞,该漏洞披露后很快就出现了在野利用。MongoBleed事件表明,漏洞细节公开后攻击者的利用速度极快。
各团队应在同类在野利用发生前完成最新漏洞的补丁修复,同时避免将数据库端口暴露在公网。CVE-2026-118383的官方记录可在NVD条目中查询,MongoDB内部跟踪工单编号为SERVER-138119和SERVER-138175。
Critical MongoDB Flaw Lets Attackers Crash Database Servers With Just Two Ping Requests