CVE-2026-22033Label Studio是一款多类型数据标注工具,在1.22.0及更早版本中存在一处持久性存储型跨站脚本(XSS)漏洞。该漏洞位于应用的custom_hotkeys功能模块中,允许经过认证的攻击者或能够诱骗用户/管理员更新custom_hotkeys的攻击者注入恶意JavaScript代码。当其他用户访问使用templates/base.html模板的页面时,注入的恶意脚本会在其浏览器中执行。由于应用程序向浏览器暴露了API token端点(/api/current-user/token),且部分API端点缺乏有效的CSRF保护,注入的脚本可以窃取受害者的API token或调用token重置端点,从而实现完整的账户接管和未授权API访问。
漏洞根源在于Label Studio的custom_hotkeys设置功能未对用户输入进行充分的HTML转义或内容安全策略(CSP)限制。攻击者通过更新custom_hotkeys配置时注入包含<script>标签或事件处理器(如onerror、onload)的JavaScript代码,该代码被永久存储在服务器端。当其他用户访问任意使用base.html模板的页面时,恶意代码会随页面一起加载并在受害者浏览器上下文中执行。由于应用提供了/current-user/token端点直接返回用户API token,且缺乏CSRF token验证,恶意脚本可以:1)使用XMLHttpRequest或fetch API获取受害者token;2)调用token重置API;3)以受害者身份执行任意API操作。整个攻击过程无需复杂的交互,攻击者只需诱骗目标用户访问特定页面即可触发漏洞。