CVE-2026-35218Budibase是一个开源的低代码平台。在3.32.5版本之前,该平台的Builder Command Palette在渲染实体名称(如表、视图、查询、自动化)时,使用了Svelte框架的{@html}指令且未进行任何安全过滤。拥有构建器访问权限的经过身份验证的用户可以创建包含HTML恶意载荷(例如JavaScript代码)的表、自动化、视图或查询。当同一工作区中的任何构建器角色用户打开命令面板(Ctrl+K)时,该恶意载荷将在其浏览器中执行,导致会话Cookie被盗,进而使攻击者能够完全接管受害者的账户。该问题已在3.32.5版本中修复。
该漏洞的根本原因是由于Budibase Builder组件在前端渲染用户输入时缺乏适当的输出编码。具体而言,应用程序使用了Svelte的{@html}指令来渲染实体名称。该指令会将内容作为原始HTML插入DOM,如果不对输入进行消毒,攻击者即可注入任意HTML和JavaScript代码。这是一个存储型XSS漏洞,攻击流程如下:首先,攻击者需要具备Builder角色的账户权限。其次,攻击者创建或修改一个实体(如表),并将恶意脚本注入到名称字段中。该数据被持久化存储。最后,当受害者(其他Builder用户)打开Command Palette时,应用会调用API获取实体列表并直接渲染,触发恶意脚本执行。由于是在受害者的浏览器上下文中运行,攻击者可以读取document.cookie等敏感数据,实现会话劫持。