NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
🐘 Packagist
Not in CISA KEV

CVE-2026-33548 — mantisbt

Fix: mantisbt/mantisbt@f32787c

CVE-2026-33548 is a Cross-site Scripting (XSS) vulnerability in mantisbt/mantisbt. A fix is available for mantisbt/mantisbt — see the affected versions and patch details below.

MantisBT has Stored HTML Injection / XSS when displaying Tags in Timeline

Also known asGHSA-73vx-49mv-v8w5
Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Nov 8, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

Exploitation Status

No confirmed exploitation observed yet

  • A successful exploit gives an attacker total control of the affected component, not partial access.
  • CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.

Exploitation and automatability from CISA’s SSVC triage for CVE-2026-33548.

EPSS Exploitation Probability

via FIRST.org ↗
0.2%probability of exploitation in next 30 days
Lower Risk0.00%
Lower risk than most CVEs10th percentile — riskier than 10% of all scored CVEsHighest risk
0.00%0.26%0.52%0.79%0.0%0.2%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from FIRST.org EPSS.

Real-World Exposure

1 pkg affected
🐘mantisbt/mantisbt

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.

Description

Improper escaping of tag names retrieved from History in Timeline (my_view_page.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->tag_name in a string_html_specialchars() call in IssueTagTimelineEvent::html()

Credits

MantisBT thanks Vishal Shukla for discovering and responsibly reporting the issue.

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
🐘Packagistmantisbt/mantisbt≥ 2.28.0&&< 2.28.22.28.2composer require mantisbt/mantisbt:^2.28.2

Affected Products

1 product · 1 configurations
Application
mantisbtmantisbt
1 version
2.28.0

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for mantisbt/mantisbt, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update mantisbt/mantisbt to 2.28.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-33548 is resolved across your whole dependency graph.

  3. Workarounds

    Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.

Frequently Asked Questions

Improper escaping of tag names retrieved from History in Timeline (my_view_page.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->tag_name` in a string_html_specialchars() call in IssueTagTimelineEvent::html() ### Credits MantisBT thanks Vishal Shukla for discovering and responsibly reporting the issue.
O3 Security · Impact-Aware SCA

Is CVE-2026-33548 in your dependencies?

Find it across Packagist, including transitive dependencies.

CVE-2026-33548: mantisbt XSS — Fixed in 2.28.2