CVE-2026-43901Wireshark MCP是一个将tshark转换为结构化分析接口的服务。在1.1.5及更早版本中,该组件存在一个严重的安全漏洞。具体而言,`wireshark_export_objects`工具接受用户控制的`dest_dir`参数,并将其直接传递给tshark的`--export-objects`标志,且没有任何强制性的路径限制。在默认安装配置下,路径沙箱(`_allowed_dirs`)为None,只有当显式设置环境变量`WIRESHARK_MCP_ALLOWED_DIRS`时才会激活。这意味着攻击者可以将导出对象写入文件系统上的任意目录,从而造成严重的安全风险。该漏洞利用需要用户交互,但成功利用后可能导致高机密性和完整性影响。
该漏洞的核心在于Wireshark MCP服务器在处理文件导出请求时未能正确实施访问控制。Wireshark MCP作为一个模型上下文协议(MCP)服务器,封装了tshark的功能。在1.1.5及之前版本中,`wireshark_export_objects`工具被设计用于从数据包文件中提取文件对象(如HTTP传输的文件等)。该工具接收一个`dest_dir`参数,该参数直接决定了导出文件的存储位置。
代码中虽然定义了`_allowed_dirs`变量作为路径沙箱,旨在限制导出操作只能在特定目录下进行,但在默认初始化时,该变量被设置为`None`。只有当管理员显式配置并设置了`WIRESHARK_MCP_ALLOWED_DIRS`环境变量时,该沙箱才会生效。在默认安装情况下,由于缺乏环境变量配置,沙箱机制处于失效状态。
攻击者利用这一逻辑缺陷,可以将`dest_dir`参数指定为文件系统上的任意路径(例如`/root/.ssh/`、`C:/Windows/Startup/`或Web服务器的根目录)。随后,通过调用该MCP工具,tshark进程会将提取的数据写入该指定路径。虽然CVSS向量显示攻击复杂度为高(AC:H)且需要用户交互(UI:R),但一旦利用成功,攻击者即可实现任意文件写入。这不仅可能导致敏感信息泄露(通过将提取的文件写入公开目录),更严重的是,通过覆盖关键系统配置文件或写入恶意脚本到自启动目录,攻击者可能进一步提升权限,在目标系统上执行任意代码,从而完全破坏系统的机密性和完整性。