CVE-2026-33548: MantisBT has Stored HTML Injection/XSS when displaying Tags in Timeline
Improper escaping of tag names retrieved from History in Timeline (myviewpage.php) allows an attacker to inject HTML and, if CSP settings permit, achieve execution of arbitrary JavaScript, when displaying a tag that has been renamed or deleted.
Impact Cross-site scripting (XSS).
Patches f32787c14d4518476fe7f05f992dbfe6eaccd815
Workarounds Edit offending History entries (using SQL) Wrap $this->tagname in a stringhtmlspecialchars() call in IssueTagTimelineEvent::html()
Credits MantisBT thanks Vishal Shukla for discovering and responsibly reporting the issue.
Other sources
Mantis Bug Tracker (MantisBT) is an open source issue tracker. In version 2.28.0, improper escaping of tag names retrieved from History in Timeline (myviewpage.php) allows an attacker to inject HTML and, if CSP settings permit, achieve execution of arbitrary JavaScript, when displaying a tag that has been renamed or deleted. Version 2.28.1 contains a patch. Workarounds include editing offending History entries (using SQL) and wrapping $this->tagname in a stringhtmlspecialchars() call in IssueTagTimelineEvent::html().
— MITRE
MantisBT has Stored HTML Injection/XSS when displaying Tags in Timeline
— Packagist
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
composer/mantisbt/mantisbtto a version that resolves this vulnerability.Fixed in 2.28.2 - Upgrade
Upgrade
MantisBTto a version that resolves this vulnerability.Fixed in 2.28.1 - Compensating control
Wrap `$this->tag_name` in a `string_html_specialchars()` call in `IssueTagTimelineEvent::html()` to escape tag names before rendering.
- Operational
Edit the offending History entries using SQL to remove or correct the stored malicious tag names.