Skip to content

GHSA-93x3-m7pw-ppqm CVE-2024-34077

Mantis Bug Tracker (MantisBT) allows user account takeover in the signup/reset password process

High Packagist
Severity
7.3 / 10
High · CVSS 3.1
Exploit chance (EPSS)
1.19%
Chance of exploitation in the next 30 days. Higher than 67.87% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-305 Authentication Bypass by Primary Weakness
CWE-620 Unverified Password Change
Fix
2.26.2
Upgrade mantisbt/mantisbt to this version or later

Description

Insufficient access control in the registration and password reset process allows an attacker to reset another user's password and takeover their account, if the victim has an incomplete request pending.

The exploit is only possible while the verification token is valid, i.e for 5 minutes after the confirmation URL sent by e-mail has been opened, and the user did not complete the process by updating their password.

A brute-force attack calling account_update.php with increasing user IDs is possible.

Impact

A successful takeover would grant the attacker full access to the compromised account, including sensitive information and functionalities associated with the account, the extent of which depends on its privileges and the data it has access to.

Patches

92d11a01b195a1b6717a2f205218089158ea6d00

Workarounds

Mitigate the risk by reducing the verification token's validity (change the value of the TOKEN_EXPIRY_AUTHENTICATED constant in constants_inc.php).

References

https://mantisbt.org/bugs/view.php?id=34433

Credits

Alexander Christian, from Vantage Point Security Indonesia

Affected versions

Packagist

PackageVulnerableFixed in
mantisbt/mantisbt
< 2.26.2
2.26.2

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

mantisbt/mantisbt Packagist → 2.26.2

composer
composer require mantisbt/mantisbt:^2.26.2

Severity breakdown

CVSS 3.1 7.3

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low

Weakness

CWE-305: Authentication Bypass by Primary Weakness

The authentication algorithm is sound, but the implemented mechanism can be bypassed as the result of a separate weakness that is primary to the authentication error.

CWE-620: Unverified Password Change

When setting a new password for a user, the product does not require knowledge of the original password, or using another form of authentication.

How to prevent it
  • Architecture and Design: When prompting for a password change, force the user to provide the original password in addition to the new password.
  • Architecture and Design: Do not use "forgotten password" functionality. But if you must, ensure that you are only providing information to the actual user, e.g. by using an email address or challenge question that the legitimate user already provided in the past; do not allow the current user to change this identity information until the correct password has been provided.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-h2wf-967x-gxvw
MantisBT: Stored XSS in print_all_bug_page_word.php
High Also affects mantisbt/mantisbt
GHSA-4vpf-w7qv-5h3q
MantisBT: Injection of TIME_TRACKING and REMINDER Notes via REST and SOAP APIs
Medium Also affects mantisbt/mantisbt
GHSA-3v2j-6fw9-f57c
MantisBT: REST and SOAP API Issue Update Accepts Unreleased Product Versions From Updaters
Medium Also affects mantisbt/mantisbt
GHSA-vcrw-4xvv-jh49
MantisBT: Reflected XSS in admin/install.php via unescaped printf
Critical Also affects mantisbt/mantisbt
GHSA-77x8-3v3h-hrhv
MantisBT: Reflected XSS in admin/install.php
Critical Also affects mantisbt/mantisbt
GHSA-m7ph-9558-mrx3
MantisBT: REST API unauthorized Issue status change
Medium Also affects mantisbt/mantisbt
GHSA-v84x-qvhg-f36r
MantisBT: Remote Code Execution via eval() Class Hoisting in adm_config_set.php
High Also affects mantisbt/mantisbt
GHSA-c2xg-qjqw-2v98
MantisBT: SOAP API Authentication Bypass with Privilege Escalation to Administrator
Critical Also affects mantisbt/mantisbt
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor