DifyTap:四个漏洞使超过 100 万个 AI 应用面临风险
- 浏览次数 115
- 喜欢 0
Dify 中的四个漏洞暴露了跨租户数据、文档和 AI 对话。两个关键漏洞允许未认证访问和数据窃取。
Zafran Labs 的研究人员披露了 Dify 中的四个漏洞。Dify 是一个开源 AI 平台,被 Volvo 和 Maersk 等大公司用于在 60 多个行业中运行超过 100 万个应用程序。其中两个漏洞严重程度为“关键”,两个完全不需要身份验证,三个对 Dify 的云服务具有跨租户影响,意味着一个客户的私有数据可被另一个客户读取。研究人员将这组漏洞统称为 DifyTap。
第一个也是最严重的漏洞是 CVE-2026-41947(CVSS 评分 9.1),存在于 Dify 的追踪系统中,该组件负责记录消息和模型响应以进行监控和分析。
公告指出:“攻击者可以为其作为客户端可以访问的任何应用程序配置自己的追踪,这包括所有公开可访问的应用程序。”“这允许攻击者为应用程序中发送的所有消息和响应创建一个持久化的数据外泄通道。”
要获取 Dify 控制台账户来实施此攻击,只需注册该平台即可。门槛并不高。
第二个关键漏洞编号为 CVE-2026-41948(CVSS 评分 9.4),位于 Plugin Daemon(插件守护进程)中,这是运行 Dify 插件系统的内部服务。
报告继续说道:“我们发现了两个原语,允许访问 Plugin Daemon 内的任意端点:一个通过 GET,一个通过 POST。”
GET 原语通过在插件图标请求的文件名参数中注入路径遍历来工作,该参数未经消毒直接传递到内部 API URL 中。更糟糕的是,该端点完全不需要登录,因此任何能够网络访问 Dify 实例的人都可以利用它。POST 原语的结构类似,只是位于任务删除端点。
其余两个漏洞编号为 CVE-2026-41949 和 CVE-2026-41950,均涉及文件访问。上传文档的预览端点仅检查文件类型是否为“Document”,而不进行其他检查。没有所有权检查,也没有租户检查。任何控制台用户都可以预览系统中的任何文档。第二个漏洞允许客户端将另一个用户的文件 UUID 附加到自己的聊天消息中,然后提示具有文件能力的聊天机器人将其读回。要求 AI 准确重复文件内容,它会照做。
Zafran 还发现,Dify 运行了一个易受 CVE-2024-5846(一个于 2024 年 6 月公开披露的释放后使用漏洞)影响的 PDFium 二进制文件,持续时间超过一年半,直到 2025 年 12 月 21 日。任何最终用户都可以通过向预览端点上传恶意 PDF 来触发该漏洞。
报告继续说道:“在更广泛的范围内,许多 AI 应用程序面临同样的危险。这些应用程序支持解析来自不受信任来源的多种文件格式,允许任何最终用户尝试触发 PDFium、ffmpeg 或其他程序中的已知漏洞。”“除了定期更新版本外,应用程序还应对此类操作进行沙箱隔离。”
这是一个类别问题,而不仅仅是 Dify 的问题。
研究还揭示了容器安全扫描中的一个盲点。Dify 将未打包的 Python 代码直接复制到其容器镜像中,这意味着标准扫描器不会将应用程序本身检测为组件,也永远不会暴露其漏洞。Zafran 开发了他们称之为“阴影容器镜像组件丰富化”的技术,以推断容器镜像代表的应用程序并将其与项目级 CVE 进行匹配。如果没有类似的技术,Dify 的漏洞对环境中的每个自动扫描器来说都是不可见的。
Dify 版本 1.14.2 解决了上述漏洞。
报告总结道:“对于目前运行版本 1.14.2 的用户,强烈建议实施专门设计用于缓解 CVE-2026-41948 的 Web 应用程序防火墙(WAF)规则。”