事件经过
ToolJet 3.20.178-lts 之前的版本允许任何具有构建者角色的已认证用户用执行服务器端的任意 JavaScript 覆盖全局共享的市场插件。由于市场插件在整个平台共享,单个低权限的构建者可以妥协所有用户和所有已连接的数据源、AI 工作流和代理集成,系统范围内。
影响分析
ToolJet 是一个用于构建代理工作流和内部工具的 AI 原生平台。通过市场插件的服务器端 JavaScript 执行赋予攻击者完整的后端访问权限,包括所有数据库凭证、AI 服务的 API 密钥,以及操纵或窃取实例上每个代理工作流和已连接数据源的能力。
攻击途径
具有构建者角色的已认证用户(在免费层级上可用)可以发送精心构造的 API 请求来用任意 JavaScript 覆盖全局共享的市场插件。恶意的 JavaScript 以 ToolJet 后端权限执行服务器端,实现完整的服务器妥协和到所有已连接数据源和 AI 代理配置的横向移动。
受影响系统
ToolJet < 3.20.178-lts
缓解措施
升级到 ToolJet 3.20.178-lts 或更高版本。公告:https://github.com/ToolJet/ToolJet/security/advisories/GHSA-jgmf-cw3v-r98x