GHSA-vcrw-4xvv-jh49
MantisBT: Reflected XSS in admin/install.php via unescaped printf
Details
MantisBT 2.28.3 and earlier contains six reflected XSS injection points in `/admin/install.php`. User-supplied parameters are echoed into HTML without escaping via an unescaped printf format string. No authentication is required.
A Content Security Policy (script-src 'self') prevents inline JavaScript execution, but the CSP is missing a form-action directive, allowing exploitation via credential-phishing form injection and <meta> open redirects.
### Impact - Credential phishing: Attacker crafts a URL that renders a fake login form on the real MantisBT admin page. Admin credentials are submitted to an attacker-controlled server. - Open redirect: Victim is silently redirected to a phishing or malware site. - UI manipulation: CSS injection can hide legitimate page content and overlay attacker-controlled HTML, enabling social engineering.
### Patches - https://github.com/mantisbt/mantisbt/commit/297773fbb238c39a153bd888431b41a176132098
### Workarounds Remove the `/admin` directory, as [recommended in the Admin Guide](https://mantisbt.org/docs/master/en-US/Admin_Guide/html-desktop/#admin.install.postcommon)
### Resources - https://mantisbt.org/bugs/view.php?id=37103 - related advisory [GHSA-77x8-3v3h-hrhv](https://github.com/mantisbt/mantisbt/security/advisories/GHSA-77x8-3v3h-hrhv)
### Credits McCaulay Hudson (@_McCaulay) of watchTowr
Are you affected?
Enter the version of the package you're using.
Affected packages
0 Fixed in: 2.28.4 composer require mantisbt/mantisbt:^2.28.4