CVE-2026-40568FreeScout是一款免费的自托管帮助台和共享邮箱软件。在1.8.213版本之前,该软件在邮箱签名功能中存在存储型跨站脚本(XSS)漏洞。由于`Helper::stripDangerousTags()`函数仅使用不完整的黑名单过滤HTML标签,且未移除事件处理属性,导致具有`ACCESS_PERM_SIGNATURE`权限的经过身份验证的用户可以注入任意HTML和JavaScript。当任何代理或管理员打开受影响邮箱中的对话时,恶意载荷会自动触发,可能导致会话劫持、网络钓鱼覆盖层以及通过批量分配进行电子邮件渗漏等严重后果。
该漏洞的根本原因在于`app/Misc/Helper.php`中的`Helper::stripDangerousTags()`函数。该函数仅维护了一个包含`script`、`form`、`iframe`、`object`这四个HTML标签的不完整黑名单,并且没有移除事件处理属性(如`onerror`、`onload`)。当通过`MailboxesController::updateSave()`保存邮箱签名时,带有事件处理属性的`<img>`、`<svg>`、`<details>`等HTML元素可以绕过过滤并存储在数据库中。随后,在`editor_bottom_toolbar.blade.php`中,签名通过Blade的`{!! !!}`标签作为原始HTML渲染,并通过jQuery的`.html()`方法重新插入到DOM中。这种处理方式直接触发了注入的事件处理器。由于`ACCESS_PERM_SIGNATURE`权限是可委派的非管理员权限,攻击者无需管理员权限即可利用此漏洞。攻击者可以利用绕过CSP(如IE11环境)或通用覆盖层技术进行会话劫持,甚至通过链式调用执行管理员级别的操作,如电子邮件渗漏和跨邮箱的蠕虫传播。