CVE-2026-32308OneUptime是一款用于监控和管理在线服务的开源解决方案。该漏洞存在于OneUptime的Markdown查看器组件中,在10.0.23之前的版本中,组件在渲染Mermaid图表时使用了securityLevel: "loose"的安全级别配置,并通过innerHTML方式注入SVG输出。这种配置明确允许Mermaid图表中的交互式事件绑定,攻击者可以利用Mermaid的click指令执行任意JavaScript代码,从而实现存储型XSS攻击。任何支持Markdown渲染的字段都受影响,包括事件描述(incident descriptions)、状态页面公告(status page announcements)和监控器备注(monitor notes)。由于OneUptime通常部署在企业内部网络用于服务监控,攻击者可通过社工手段诱导管理员查看恶意内容,进而窃取会话Cookie、劫持管理员账户或执行进一步的内网渗透攻击。该漏洞CVSS评分7.6,属于高危级别,具有网络可利用性但需要低权限用户配合交互才能触发。
漏洞根源在于OneUptime的Markdown渲染器在处理Mermaid图表时使用了不安全的配置。攻击者通过在Markdown内容中插入特制的Mermaid代码,利用click指令绑定JavaScript事件。当Mermaid的securityLevel设置为"loose"时,会允许图表元素响应用户点击事件并执行预定义的JavaScript代码。具体攻击payload形如:graph TD; a-->b; click a alert(document.cookie) - 这段Mermaid代码会创建一个流程图,其中节点a被绑定了点击事件,触发时执行alert(document.cookie)。由于渲染结果通过innerHTML直接注入DOM,攻击者的JavaScript代码会在受害者浏览器上下文中执行。漏洞影响所有使用Markdown编辑器的功能模块,攻击者预先在受影响字段中植入恶意Mermaid代码,当管理员或其他用户查看相关内容时即触发XSS。修复方案为升级到10.0.23版本,该版本将securityLevel改为更严格的配置或使用textContent替代innerHTML进行SVG注入。