漏洞概述 漏洞ID: 0037016 项目名称: mantisbt 类别: security 状态: public 提交日期: 2026-04-12 07:09 最后更新: 2026-05-09 19:56 报告者: slunam 优先级: immediate 严重性: major 分辨率: fixed 重现性: always 目标版本: 2.28.2 修复版本: 2.28.2 影响范围 该漏洞允许攻击者通过上传特制的附件来绕过内容安全策略(CSP)的 指令,从而在浏览器中执行任意 JavaScript 代码。 当访问 链接时,如果上传的附件被识别为有效的 JavaScript MIME 类型,则会导致脚本执行。 修复方案 限制 第 215 行的 头,仅允许文本/纯文本、文本/html、application/octet-stream 和图像 MIME 类型(如 image/png)。 这样可以减少通过此端点进行 CSP 绕过攻击的风险。 POC 代码 步骤复现 1. 创建一个 JavaScript 载荷,例如 : 2. 将文件作为附件上传到任何受害者可以访问的问题。 3. 获取文件的下载 URL,例如 。 4. 利用任何现有的 HTML 注入漏洞,例如字体家族在 0039049 中。 - 使用特制的 POST 请求(如 0039049 中所述),或以管理员身份使用 设置 为: - 以受害者身份登录。 - 脚本执行,如附加屏幕截图所示。 附加信息 此漏洞最初作为 0039049 的一部分报告,由 slunam 提交。经过分析和讨论,认为这是一个单独的漏洞。 建议的修复方法是限制 第 215 行的 头,仅允许文本/纯文本、文本/html、application/octet-stream 和图像 MIME 类型(如 image/png)。这是因为其他 MIME 类型并不真正有用,并且会减少通过此端点进行 CSP 绕过攻击的风险。 关系 相关于 0037011: CVE-2026-40599: XSS 导致通过更新用户的字体偏好进行账户接管。 相关于 0037020: CVE-2026-44657: 存储 XSS 在文件下载中。 活动 2026-04-12 13:45: dregal 创建了 CVE 请求。 2026-04-13 00:40: slunam 认为 CVSS 分数应为 5。 2026-04-13 01:03: slunam 澄清此 CSP 绕过不是漏洞,而是安全风险。 2026-04-13 04:30: dregal 同意此 CSP 绕过不是漏洞,而是安全风险。 2026-04-13 06:30: slunam 认为此 CSP 绕过总是安全风险,因为它移除了保护层。 2026-04-17 02:47: dregal 分配了 CVE-2026-40597。 2026-05-03 13:50: dregal 提供了补丁供审查。 2026-05-07 01:30: slunam 确认补丁修复了漏洞。 相关变更集 MantisBT: master-2.28 26647b2e 限制文件下载的 MIME 类型。 现在仅设置 头为已知安全类型(如 PDF 和图像),所有其他文本强制为 text/plain,其余部分作为 application/octet-stream 发送。 包括 vboctor 的审查修正。 修复 0039049, GHSA-9c3j-xm6v-7j3 / CVE-2026-40597。