关键信息 漏洞标题 Stored XSS regression on OpenProject using attachments and script-src self 漏洞严重性 严重程度: High (8.7 / 10) CVSS v3 基本指标: - 攻击向量: Network - 攻击复杂性: Low - 所需权限: Low - 用户交互: Required - 范围: Changed - 机密性: High - 完整性: High - 可用性: None 影响 受影响的版本: >= 16.3.0, = 16.3.0, < 16.6.5 存在一个存储型 XSS 漏洞,在 Roadmap 视图中。Roadmap 视图渲染每个版本的“相关工作包”列表。当版本包含来自不同项目的包时(例如子项目),helper link_to_work_package 会在链接前加上包名,并将整个字符串以.html_safe 返回。由于项目名称是用户控制的,并且在调用 html_safe 之前没有进行转义,因此子项目名称中的任何 HTML 会被直接注入到页面中。 修复措施 通过设置 X-Content-Type-Options: nosniff header 来缓解问题,该 header 在 OpenProject 16.3.0 进行重构之前一直存在,但新的配置中没有正确应用这个 header。 解决方案 如果你无法升级你的安装,请确保在你的代理 Web 应用服务器中添加 X-Content-Type-Options: nosniff header。 弱点 CWE-79 发现者 此漏洞由用户 sam91281 在 YesWeHack.com OpenProject Bug Bounty program 上发现,该程序由欧盟委员会赞助。