GHSA-9c3j-xm6v-j7j3
MantisBT has a Content Security Policy bypass via attachments
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Packagist | mantisbt/mantisbt | < 2.28.2 | 2.28.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
Given any pre-existing XSS / HTML injection vulnerability, an attacker can bypass the Content Security Policy's _script-src_ directive by uploading a crafted attachment to any issue that, when accessed via the _file_download.php_ link, will be downloaded with a valid JavaScript MIME type resulting in script execution.
The uploaded payload must be sniffed as a valid JavaScript MIME type by PHP finfo (see file_create_finfo() API function). Non-JavaScript MIME types will not get imported in a `<script>` tag by the browser, due to response header X-Content-Type-Options being set to _nosniff_, which requires all imported JavaScript files to be a valid JavaScript MIME type.
### Impact
Cross-site scripting
### Patches
- 9e3bee2e7b909f4e3596985892b8bc8bee9e0bfe
### Workarounds
None
### Credits
Thanks to siunam (Tang Cheuk Hei) for discovering and responsibly reporting the issue.
References
External links from the advisory. They lead to third-party sites.