IPBUF安全漏洞报告
English
CVE-2026-9101 CVSS 4.3 中危

CVE-2026-9101 MongoDB Compass 原型污染导致命令执行

披露日期: 2026-05-20

漏洞信息

漏洞编号
CVE-2026-9101
漏洞类型
原型污染
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
MongoDB Compass

相关标签

MongoDBCompassPrototype PollutionRCECSV Injection

漏洞概述

该漏洞存在于MongoDB Compass的CSV导入功能中,由于解析逻辑存在原型污染缺陷,攻击者可诱导用户导入特制CSV文件。在特定用户交互下,污染可导致不受信任的文件路径传入`shell.openExternal`接口,从而在无需认证的情况下实现“一键”命令执行。

技术细节

漏洞核心在于MongoDB Compass处理CSV导入时,未对包含`__proto__`或`constructor.prototype`等键名的恶意输入进行过滤。当用户导入恶意CSV文件后,JavaScript对象的原型链被污染。随后,当用户进行特定操作(如点击链接或文件)时,应用调用`shell.openExternal`函数。由于对象原型已被篡改,传入该函数的路径参数变为攻击者控制的恶意路径(如系统命令)。尽管参数本身未被直接污染,但通过污染对象属性,攻击者成功控制了外部调用路径,绕过了部分安全校验,实现了在用户交互下的任意命令执行。

攻击链分析

STEP 1
步骤1
攻击者构造包含恶意原型污染键值对的CSV文件。
STEP 2
步骤2
攻击者诱导目标用户在MongoDB Compass中导入该恶意CSV文件。
STEP 3
步骤3
应用解析CSV时触发原型污染,修改JavaScript对象基类属性。
STEP 4
步骤4
用户在应用界面进行特定交互(如点击操作),触发shell.openExternal调用。
STEP 5
步骤5
应用读取被污染的属性作为路径,执行攻击者指定的系统命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Malicious CSV content (exploit.csv): // __proto__,filePath // ,/bin/sh // Conceptual Exploitation Flow: // 1. User imports exploit.csv into MongoDB Compass. // 2. The parser processes the CSV and assigns the filePath to the global prototype. // 3. User interacts with the UI (e.g., clicks a feature that opens a file). // 4. The application executes code similar to: // const { shell } = require('electron'); // const config = {}; // // config inherits 'filePath' from the polluted prototype // shell.openExternal(config.filePath || 'default_path'); // 5. Instead of the default, /bin/sh is executed.

影响范围

MongoDB Compass (具体受影响版本请参考官方公告)

防御指南

临时缓解措施
建议用户避免打开或导入来源不明的CSV文件。在官方修复补丁发布前,应严格限制MongoDB Compass的使用环境权限,避免在处理敏感数据的主机上使用。

参考链接

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