Newshot
Account

MongoDB修复严重未授权漏洞,两个ping请求就可以打崩数据库服务器

Summary

MongoDB已修复编号为CVE-2026-118383的严重漏洞,远程未认证攻击者仅需发送两个简单的ping请求,就可以导致数据库服务器崩溃。该漏洞CVSS v4.0评分为9.5。 漏洞存在于新主节点完成

Original text(via FreeBuf)

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

The text above was extracted automatically from the source page and may miss images, tables or code blocks. The original is authoritative.

Published by FreeBuf
This site only summarises and aggregates; copyright stays with the original author. Headlines and summaries follow the source — where they differ, the original wins.
Read the original ↗