CVE-2026-49273
Published:July 15, 2026
Updated:August 02, 2026
MantisBT 2.28.3 and earlier contains a remote code execution vulnerability in the admin "Manage Configuration" feature (adm_config_set.php). When setting a configuration value with a non-string type (integer, float, complex), the value is passed through ConfigParser -> Tokenizer, which calls eval() with a "return;" prefix intended to prevent code execution. However, PHP hoists function and class declarations at compile time, even past a return statement. An attacker can define a class in the eval()'d code that hijacks a class loaded later via PHP's autoloader, achieving arbitrary code execution. This vulnerability requires administrator access to the web UI (adm_config_set.php). The REST API's ConfigsSetCommand does NOT use Tokenizer/eval() and is not affected. Impact - Remote code execution as the web server user (www-data) from an authenticated administrator session Patches - https://github.com/mantisbt/mantisbt/commit/78c0af63d1fe0118004744cab21ca3bf2cea0f5c Workarounds None. Resources - https://mantisbt.org/bugs/view.php?id=37122 Credits McCaulay Hudson (@_McCaulay) of watchTowr
Affected Packages
https://github.com/mantisbt/mantisbt.git (GITHUB):
Affected version(s) >=release-2.3.0 <release-2.28.4Fix Suggestion:
Update to version release-2.28.4mantisbt/mantisbt (PHP):
Affected version(s) >=2.3.0 <2.28.4Fix Suggestion:
Update to version 2.28.4Related Resources (4)
Do you need more information?
Contact UsCVSS v4
Base Score:
8.6
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
HIGH
User Interaction
NONE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
7.2
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
HIGH
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Weakness Type (CWE)
Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')