Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Authenticated uploader (PR:L) and victim must open the link (UI:R); XSS executing in another user's session crosses a trust boundary (S:C) with high confidentiality (session/token theft) and limited integrity impact.
Primary rating from Vendor (https://github.com/mantisbt/mantisbt).
CVSS VectorVendor: https://github.com/mantisbt/mantisbt
Lifecycle Timeline
5DescriptionCVE.org
Using *show_inline=1* parameter and a valid *file_show_inline_token* CSRF token on file_download.php, an attacker can execute code by uploading a crafted XHTML attachment referencing a JavaScript attachment.
Impact
Cross-site scripting
Patches
- 26647b2e68ba30b9d7987d4e03d7a16416684bc2
Workarounds
None
Credits
Thanks to siunam (Tang Cheuk Hei) for discovering and responsibly reporting the issue.
AnalysisAI
Stored/DOM cross-site scripting in MantisBT before 2.28.2 lets an authenticated attacker achieve script execution by uploading a crafted XHTML attachment that references a JavaScript attachment and retrieving it via file_download.php with show_inline=1 and a valid file_show_inline_token CSRF token. The companion advisory (GHSA-9c3j-xm6v-j7j3) shows the same download path can be abused to bypass the Content-Security-Policy script-src directive by serving an attachment with a JavaScript MIME type, turning any HTML-injection primitive into full script execution. No public exploit has been identified at time of analysis and EPSS is low (0.06%, 20th percentile), consistent with responsible disclosure by researcher siunam rather than in-the-wild abuse.
Technical ContextAI
MantisBT is a PHP-based open-source bug-tracking web application (distributed as the composer/mantisbt package). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation). The vulnerable component is file_download.php, which decides whether an uploaded attachment is served inline versus as a forced download and what Content-Type header to apply. Before the fix, when show_inline was requested the handler served attachments using their sniffed MIME type without normalizing dangerous types, so an XHTML file (rendered as active HTML) or a file that PHP finfo sniffs as a JavaScript MIME type would be interpreted and executed by the browser rather than treated as an opaque download. Because browsers honor X-Content-Type-Options: nosniff, the CSP-bypass variant specifically requires the payload to be sniffed as a genuine JavaScript MIME type so it can be imported through a <script> tag.
RemediationAI
Vendor-released patch: upgrade to MantisBT 2.28.2, which contains the fixes (commits 26647b2e68ba30b9d7987d4e03d7a16416684bc2 and 9e3bee2e7b909f4e3596985892b8bc8bee9e0bfe) that normalize the Content-Type of downloaded attachments - forcing text/* content to text/plain and all non-audio/video types to application/octet-stream so browsers no longer execute HTML or JavaScript served from file_download.php. The advisories explicitly state there are no supported workarounds, so patching is the required action; refer to https://github.com/mantisbt/mantisbt/security/advisories/GHSA-p6fr-rxq7-xcg8 and https://github.com/mantisbt/mantisbt/security/advisories/GHSA-9c3j-xm6v-j7j3. If upgrading cannot be done immediately, reduce exposure by restricting attachment-upload rights to trusted accounts and limiting reporter/account self-registration (trade-off: hampers legitimate external bug reporters), and consider a reverse-proxy rule that forces Content-Disposition: attachment / application/octet-stream on file_download.php responses (trade-off: breaks intended inline preview of benign attachments).
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-33023
GHSA-p6fr-rxq7-xcg8