CVE-2025-46556: MantisBT Vulnerable to Denial-of-Service (DoS) via Excessive Note Length
6.5
Basic Information
Technical Details
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| mantisbt/mantisbt | composer | < 2.27.2 | 2.27.2 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability is a Denial-of-Service (DoS) caused by a lack of server-side validation for the length of various text fields within MantisBT. An attacker could submit extremely long strings to fields such as bug descriptions, bug notes, custom fields, and user profiles. The application would accept this input without any length restrictions, leading to the corruption of issue activity logs and making them unviewable. The user interface would fail to render, and new notes could not be displayed, effectively breaking collaboration on the affected issues.
The patches address this vulnerability by introducing a new global configuration setting, $g_max_textarea_length, which defines a maximum allowed length for these text fields. A new helper function, helper_ensure_longtext_length_valid, was created to perform the server-side validation. This function is now called from all the identified vulnerable functions (BugData::validate, IssueAddCommand::validate, bugnote_add, bugnote_set_text, custom_field_update, custom_field_validate, and profile_validate_before_update) before processing the user-provided text. This ensures that any input exceeding the configured limit is rejected, thus preventing the DoS attack.
Vulnerable functions
BugData::validatecore/bug_api.php
IssueAddCommand::validatecore/commands/IssueAddCommand.php
bugnote_addcore/bugnote_api.php
bugnote_set_textcore/bugnote_api.php
custom_field_updatecore/custom_field_api.php
custom_field_validatecore/custom_field_api.php
profile_validate_before_updatecore/profile_api.php