CVE-2025-12245CVE-2025-12245是Chatwoot多渠道客户支持平台中的一个安全漏洞,影响版本最高至4.7.0。该漏洞存在于Chatwoot的嵌入式小部件(Widge)功能中,具体位于app/javascript/sdk/IFrameHelper.js文件中的initPostMessageCommunication函数。由于该函数对baseUrl参数的origin验证存在缺陷,攻击者可以通过精心构造的恶意页面,利用跨域通信机制绕过同源策略限制,从而获取敏感信息或执行未授权操作。Chatwoot作为一个开源的客户支持平台,被广泛应用于企业的网站客服、实时聊天和邮件处理等场景,其小部件功能允许网站嵌入聊天窗口与客户进行交互。该漏洞的利用不需要认证,也不需要用户交互,攻击者只需诱导用户访问恶意页面即可发起攻击。CVSS 3.1评分为5.3,属于中等严重程度,主要影响系统的机密性。厂商在收到漏洞报告后未做出任何回应,导致该漏洞在较长时间内可能处于未修复状态,对使用受影响版本Chatwoot的企业和个人用户构成潜在安全风险。
该漏洞的核心问题在于Chatwoot小部件的跨域消息通信机制存在验证缺陷。在IFrameHelper.js的initPostMessageCommunication函数中,程序使用baseUrl参数来验证消息来源的origin,但验证逻辑存在可被绕过的缺陷。攻击者可以通过以下方式利用:1) 创建一个包含恶意JavaScript的网页,该脚本构造一个伪造的baseUrl参数;2) 当受害者的浏览器加载该恶意页面时,脚本会尝试与Chatwoot小部件进行postMessage通信;3) 由于origin验证不正确,恶意脚本可以冒充合法来源发送消息;4) 成功绕过验证后,攻击者可能获取用户的会话信息、消息内容或其他敏感数据。攻击的利用条件包括:攻击者需要能够诱使受害者访问恶意页面,受害者需要是Chatwoot小部件的用户或管理员,以及目标Chatwoot实例需要运行受影响版本。由于该漏洞位于前端JavaScript代码中,攻击的复杂度较低,且可以通过网络远程执行,无需获取任何认证凭据。