IPBUF安全漏洞报告
English
CVE-2026-9741 CVSS 6.5 中危

MongoDB CVE-2026-9741 $vectorSearch加密字段明文泄露漏洞

披露日期: 2026-06-09

漏洞信息

漏洞编号
CVE-2026-9741
漏洞类型
信息泄露
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
MongoDB (Queryable Encryption, Client-Side Field Level Encryption)

相关标签

MongoDB信息泄露Queryable EncryptionCSFLE$vectorSearch加密字段明文泄露CVE-2026-9741

漏洞概述

CVE-2026-9741是MongoDB数据库中一个严重的信息泄露漏洞,存在于$vectorSearch聚合阶段的查询分析处理中。该漏洞影响了使用Queryable Encryption(QE,可查询加密)或Client-Side Field Level Encryption(CSFLE,客户端字段级加密)功能的应用。当用户在$vectorSearch阶段使用filter表达式时,原本应该以密文形式传输的加密字段值,由于查询分析处理过程中的bug,被错误地以明文形式发送到服务器端。这意味着攻击者或恶意用户可能通过低权限账户获取到本应加密的敏感数据内容。该漏洞的CVSS评分为6.5,属于中等严重程度,但考虑到涉及加密数据的泄露,仍需引起高度重视。漏洞披露于2026年6月9日,由MongoDB安全团队发现并报告。

技术细节

该漏洞的根本原因在于MongoDB查询分析器在处理$vectorSearch聚合阶段时,对加密字段的filter表达式处理存在逻辑错误。当用户执行包含加密字段过滤条件的$vectorSearch查询时,系统应自动将明文值转换为对应的密文形式进行传输和处理。然而,由于查询分析模块的bug,加密字段的literal值被直接作为明文发送到了服务器端。攻击者可以利用此漏洞,通过构造特定的$vectorSearch查询,配合低权限账户(PR:L)访问包含加密数据的集合,触发加密字段的明文泄露。技术层面,该漏洞涉及Queryable Encryption的加密字段索引和查询解密机制,以及$vectorSearch的filter表达式解析流程。攻击成功的前提是目标集合中存在使用QE或CSFLE加密的字段,且查询中使用了这些加密字段作为过滤条件。

攻击链分析

STEP 1
步骤1
攻击者获取目标MongoDB数据库的低权限账户访问权限
STEP 2
步骤2
攻击者识别使用Queryable Encryption或CSFLE加密的集合和字段
STEP 3
步骤3
攻击者构造包含加密字段filter表达式的$vectorSearch查询
STEP 4
步骤4
由于查询分析bug,加密字段值以明文形式发送到服务器
STEP 5
步骤5
服务器返回查询结果,攻击者获取到加密字段的明文数据

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
db.collection.aggregate([ { $vectorSearch: { index: "vector_index", path: "embedding_field", queryVector: [0.1, 0.2, 0.3, ...], filter: { "encrypted_sensitive_field": "明文值" // 原本应该加密的值 } } } ]) // 正常情况下,encrypted_sensitive_field应该使用加密后的值: // filter: { "encrypted_sensitive_field": BinData(...) } // 漏洞利用前提: // 1. 集合启用了Queryable Encryption或CSFLE // 2. encrypted_sensitive_field为加密字段 // 3. 攻击者拥有目标集合的读权限 // 4. 存在配置错误的$vectorSearch查询

影响范围

MongoDB Server < 7.0.5 (QE相关版本)
MongoDB Server < 6.0.15 (QE相关版本)
MongoDB Server 7.0.x 系列受影响
MongoDB Server 6.0.x 系列受影响
MongoDB Server 5.0.x 系列可能受影响

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1) 严格限制数据库用户的权限,避免低权限用户访问加密集合;2) 在应用层增加查询验证逻辑,确保$vectorSearch的filter表达式使用正确的加密值;3) 启用MongoDB的查询日志审计,监控是否存在异常的filter表达式;4) 考虑临时禁用$vectorSearch功能或限制其使用范围;5) 实施网络层访问控制,限制对数据库的直接访问。

参考链接

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