locize InContext editor SDK 跨站脚本 (XSS) 漏洞总结 漏洞概述 标题: Cross-origin DOM XSS / handler hijack via missing e.origin validation in locize InContext editor SDK CVE ID: CVE-2026-41886 CVSS 评分: 7.5 / 10 (High) 描述: locize 客户端 SDK(浏览器模块)在版本 4.0.21 之前,注册了一个 监听器,用于处理来自 翻译编辑器的消息。该监听器在分派到内部处理程序(如 、 等)之前,未验证 。 攻击者可以通过构造恶意消息,利用 或第三方页面中的 iframe 向受影响的 locize 主机发送消息,从而触发内部处理程序。 影响范围 受影响版本: 版本 < 4.0.21 修复版本: 版本 4.0.21 具体影响: 跨站 DOM XSS / 处理程序劫持: 攻击者可以通过 / 将受控载荷赋值给 或 。这允许注入 、 、 等事件处理器,或在属性写入时注入 或 。 API 源劫持: 通过 设置, 和 可被设置为攻击者控制的值。后续所有 调用(包括翻译、回调等)都会发送到攻击者窗口,泄露翻译内容和元数据。 CSS 注入 / 布局逃逸: 通过 , / 可被插值到 表达式和 中,允许注入额外的 CSS 声明(如 , )到弹出窗口内联样式中。 修复方案 在版本 4.0.21 中,通过以下三层修复: 1. Primary: 在 的顶层验证 。期望的源是配置的 iframe 源( ),因此自定义环境可以继续工作。来自其他源的消息在分派给任何处理程序之前被静默丢弃。 2. Defense in-depth: 现在拒绝危险属性名称( , )和 。赋值通过第三方 DOMParser 文档进行清理(剥离 , , , , , , , 以及事件处理器和危险的 URL 方案)。合法的翻译格式化( , , , )通过。 3. CSS-injection: 现在要求 / 匹配严格的 CSS 长度格式;格式错误的值被静默丢弃。 工作区 无工作区,建议升级。 参考 CWE-346: Origin Validation Error CWE-79: XSS MDN: window.postMessage security