CVE-2026-35565 in Storm UI
摘要
由 VulDB • 2026-05-10
存储型跨站脚本(XSS)漏洞:Apache Storm UI 中未清理的拓扑元数据
受影响版本:2.8.6 之前
描述:Storm UI 的可视化组件在 `parseNode()` 和 `parseEdge()` 函数中,通过 `innerHTML` 直接将拓扑元数据(包括组件 ID、流名称和分组值)插值到 HTML 中,且在任何层级均未进行清理。拥有拓扑提交权限的已认证用户可以在组件标识符(例如包含 `onerror` 事件处理程序的 bolt ID)中构造包含恶意 HTML/JavaScript 的拓扑。该有效载荷经由 Nimbus → Thrift → 可视化 API → vis.js 工具提示渲染流程传递,从而导致存储型跨站脚本攻击。
在允许不太受信任的用户提交拓扑,但 UI 由操作员或管理员访问的多租户部署环境中,这会导致通过管理员浏览器会话中的脚本执行实现权限提升。
缓解措施:2.x 用户应升级至 2.8.6。无法立即升级的用户应对可视化 JavaScript 文件中的 `parseNode()` 和 `parseEdge()` 函数进行 monkey-patch,在将 API 提供的值(包括 `nodeId`、`:capacity`、`:latency`、`:component`、`:stream` 和 `:grouping`)插值到工具提示 HTML 字符串之前,对所有这些值进行 HTML 转义。此外,应通过 Nimbus ACL 将拓扑提交权限限制为受信任用户,作为纵深防御措施。2.8.6 版本发布说明中提供了相关操作指南。
致谢:此问题由 K. 在调查另一份报告时发现。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.