漏洞总结:TwentyHQ 存储型 XSS 漏洞 漏洞概述 漏洞类型:存储型跨站脚本攻击(Stored XSS) 漏洞编号:#19282 发现时间:3周前 严重程度:高危 漏洞描述:攻击者可通过构造恶意的 属性值(如 协议),在用户点击链接时执行任意 JavaScript 代码。 影响范围 受影响组件: - 所有渲染用户可控 URL 的组件 - 所有将 URL 传递给 的组件 - 所有使用 属性的组件 具体影响: - 攻击者可注入恶意 JavaScript 代码 - 当用户点击恶意链接时,代码将在用户浏览器中执行 - 可能导致会话劫持、数据窃取等严重后果 修复方案 1. 新增安全工具函数 2. 服务端验证 3. 客户端组件加固 AttachmentRow.tsx:添加 验证 EditLinkPopover.tsx:添加 验证 LinkBubbleMenu.tsx:添加 验证 LazyMarkdownRenderer.tsx:添加 验证 FileBlock.tsx:添加 验证 InformationBannerMaintenance.tsx:添加 验证 IframeWidget.tsx:添加 验证 LinkDisplay.tsx:添加 验证 4. ESLint 规则配置 修复效果 所有用户可控的 URL 在保存时进行验证 所有渲染 URL 的组件使用 进行二次验证 通过 ESLint 规则防止在 JSX 中使用 协议 有效防止存储型 XSS 攻击