IPBUF安全漏洞报告
English
CVE-2026-35218 CVSS 8.7 高危

CVE-2026-35218 Budibase 存储型XSS漏洞

披露日期: 2026-04-03

漏洞信息

漏洞编号
CVE-2026-35218
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
8.7 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Budibase

相关标签

XSSStored XSSBudibaseWeb安全低代码平台CVE-2026-35218

漏洞概述

Budibase是一个开源的低代码平台。在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等敏感数据,实现会话劫持。

攻击链分析

STEP 1
1
攻击者利用拥有Builder权限的账户登录Budibase平台。
STEP 2
2
攻击者创建一个新的实体(如表、视图等),并将包含JavaScript代码的HTML载荷注入到实体名称中。
STEP 3
3
恶意载荷随实体信息被保存到服务器数据库中。
STEP 4
4
受害者(同一工作区的其他Builder用户)打开Builder界面的Command Palette(快捷键Ctrl+K)。
STEP 5
5
前端应用通过{@html}指令渲染实体列表,导致恶意HTML/JS代码在受害者浏览器中执行。
STEP 6
6
攻击者利用执行脚本窃取受害者的Session Cookie,从而接管账户权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-35218 1. Login to Budibase as a user with Builder access. 2. Navigate to create a new Table or Automation. 3. In the 'Name' field, enter the following payload: --> <img src=x onerror=alert(document.domain)> <!-- 4. Save the entity. 5. Open the Command Palette using Ctrl+K. 6. The JavaScript alert will execute, demonstrating the XSS vulnerability. -->

影响范围

Budibase < 3.32.5

防御指南

临时缓解措施
建议用户立即升级到Budibase 3.32.5版本以修补此漏洞。如果暂时无法升级,应严格审查并清理现有数据库中是否存在异常的实体名称,同时加强对Builder用户的管理,确保只有受信任的人员拥有创建实体的权限。

参考链接

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