{"id":"CVE-2017-18638","aliases":["DEBIAN-CVE-2017-18638","DLA-1962-1","EUVD-2019-0058","GHSA-vfj6-275q-4pvm","PYSEC-2019-151","SUSE-SU-2019:2803-1","UBUNTU-CVE-2017-18638","USN-6243-1"],"status":"published","title":"graphite.composer.views.send_email vulnerable to SSRF","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-07","score":0.15301,"percentile":0.9679,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-918"],"published":"2019-10-11T22:01:28Z","modified":"2026-10-20T10:47:49Z","exploits":[{"source":"nuclei","id":"CVE-2017-18638","title":"Graphite \u003c=1.1.5 - Server-Side Request Forgery","type":"detection template","url":"https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2017/CVE-2017-18638.yaml"}],"fixes":[{"ecosystem":"PyPI","package":"graphite-web","fixed_in":["1.1.6"],"sources":["ghsa","osv"]},{"ecosystem":"Debian:12","package":"graphite-web","fixed_in":["1.1.4-5"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"graphite-web","fixed_in":["1.1.4-5"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"graphite-web","fixed_in":["1.1.4-5"],"sources":["osv"]},{"ecosystem":"Debian:8","package":"graphite-web","fixed_in":["0.9.12+debian-6+deb8u1"],"sources":["osv"]},{"ecosystem":"SUSE:Enterprise Storage 4","package":"graphite-web","fixed_in":["0.9.12-5.3.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"graphite-web","fixed_in":["0.9.12+debian-3ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:16.04:LTS","package":"graphite-web","fixed_in":["0.9.15+debian-1ubuntu0.1~esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:18.04:LTS","package":"graphite-web","fixed_in":["1.0.2+debian-2ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.4-5"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.4-5"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.4-5"}]}]},{"source":"osv","ecosystem":"Debian:8","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.12+debian-6+deb8u1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6"}]}],"versions":["0.9.10","0.9.11","0.9.12","0.9.13","0.9.14","0.9.15","0.9.16","0.9.5","0.9.6","0.9.7","0.9.7b","0.9.7c","0.9.8","0.9.9","1.0.0","1.0.1","1.0.2","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5"]},{"source":"osv","ecosystem":"PyPI","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.6"}]}],"versions":["0.9.10","0.9.11","0.9.12","0.9.13","0.9.14","0.9.15","0.9.16","0.9.5","0.9.6","0.9.7","0.9.7b","0.9.7c","0.9.8","0.9.9","1.0.0","1.0.1","1.0.2","1.1.0","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5"]},{"source":"osv","ecosystem":"SUSE:Enterprise Storage 4","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.12-5.3.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.12+debian-3ubuntu0.1~esm1"}]}],"versions":["0.9.12+debian-1","0.9.12+debian-2","0.9.12+debian-3"]},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.15+debian-1ubuntu0.1~esm1"}]}],"versions":["0.9.13+debian-1","0.9.15+debian-1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2+debian-2ubuntu0.1~esm1"}]}],"versions":["0.9.15+debian-2","1.0.2+debian-2"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.12+debian-3ubuntu0.1~esm2"}]}],"versions":["0.9.12+debian-1","0.9.12+debian-2","0.9.12+debian-3","0.9.12+debian-3ubuntu0.1~esm1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.15+debian-1ubuntu0.1~esm1"}]}],"versions":["0.9.13+debian-1","0.9.15+debian-1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2+debian-2ubuntu0.1~esm1"}]}],"versions":["0.9.15+debian-2","1.0.2+debian-2"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.4-5ubuntu0.1"}]}],"versions":["1.1.4-3","1.1.4-5"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"graphite-web","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.1.8-1ubuntu0.22.04.1"}]}],"versions":["1.1.4-5","1.1.8-1"],"bundled":4}],"products":[{"vendor":"graphite_project","product":"graphite"}],"references":[{"url":"https://github.com/graphite-project/graphite-web/security/advisories/GHSA-vfj6-275q-4pvm","tags":["x_refsource_MISC","x_transferred","Broken Link","advisory","web","report"]},{"url":"https://github.com/graphite-project/graphite-web/issues/2008","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://blog.orange.tw/2017/07/how-i-chained-4-vulnerabilities-on.html#second-bug-internal-graphite-ssrf","tags":["x_refsource_MISC","x_transferred","Exploit","Mitigation","Third Party Advisory","evidence","web","article","report"]},{"url":"https://www.youtube.com/watch?v=ds4Gp4xoaeA","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","evidence","web","report"]},{"url":"https://github.com/graphite-project/graphite-web/pull/2499","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://lists.debian.org/debian-lts-announce/2019/10/msg00030.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://github.com/graphite-project/graphite-web/commit/71726a0e41a5263f49b973a7b856505a5b931c1f","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-18638","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/graphite-web/PYSEC-2019-151.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-vfj6-275q-4pvm"},{"url":"https://security-tracker.debian.org/tracker/CVE-2017-18638","tags":["advisory"]},{"url":"https://github.com/graphite-project/graphite-web","tags":["package"]},{"url":"https://www.suse.com/support/update/announcement/2019/suse-su-20192803-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1154007","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2017-18638","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2017-18638","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6243-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2017-18638","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-4728","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-4729","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2022-4730","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2017-18638","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T22:01:28Z","modified":"2024-08-05T21:28:55.975Z","updated_at":"2026-11-02T14:33:21.747294Z"}],"euvd":[{"id":"EUVD-2019-0058","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T22:01:28Z","modified":"2024-08-05T21:28:55Z","updated_at":"2026-11-03T02:23:05.586343Z"}],"ghsa":[{"id":"GHSA-vfj6-275q-4pvm","title":"graphite.composer.views.send_email vulnerable to SSRF","description":"### Impact\nsend_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information. Email will be send through SMTP server configured in Graphite, by default it's 'localhost'\n\n### Patches\nProblem was patched in Graphite-web 1.1.6. Also patches was released for graphite-web [1.0.x](https://github.com/graphite-project/graphite-web/pull/2501) and [0.9.x](https://github.com/graphite-project/graphite-web/pull/2500), and we'll discuss releases of non-supported branches later.\n\n### Workarounds\nYou can manually remove function `send_email` from file `webapp/graphite/composer/views.py`. This function are not in use and will not affect your Graphite installation.\n\n### References\nFor more information check this graphite-web Github issue #2008 \n\n### For more information\nIf you have any questions or comments about this advisory:\n* Add comment in [issue #2008](https://github.com/graphite-project/graphite-web/issues/2008)","status":"published","published":"2019-10-25T13:55:20Z","modified":"2024-09-20T21:42:31Z","cvss":[{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:38:05.526697Z"}],"nvd":[{"id":"CVE-2017-18638","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T23:15:10.447Z","modified":"2026-06-17T01:13:12.573Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T14:04:20.074898Z"}],"osv":[{"id":"CVE-2017-18638","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T23:15:10.447Z","modified":"2026-10-20T10:47:49.101512741Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:05.486486Z"},{"id":"DEBIAN-CVE-2017-18638","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T23:15:10.447Z","modified":"2026-09-01T20:03:47.10554219Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:45:29.100767Z"},{"id":"GHSA-vfj6-275q-4pvm","title":"graphite.composer.views.send_email vulnerable to SSRF","description":"### Impact\nsend_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information. Email will be send through SMTP server configured in Graphite, by default it's 'localhost'\n\n### Patches\nProblem was patched in Graphite-web 1.1.6. Also patches was released for graphite-web [1.0.x](https://github.com/graphite-project/graphite-web/pull/2501) and [0.9.x](https://github.com/graphite-project/graphite-web/pull/2500), and we'll discuss releases of non-supported branches later.\n\n### Workarounds\nYou can manually remove function `send_email` from file `webapp/graphite/composer/views.py`. This function are not in use and will not affect your Graphite installation.\n\n### References\nFor more information check this graphite-web Github issue #2008 \n\n### For more information\nIf you have any questions or comments about this advisory:\n* Add comment in [issue #2008](https://github.com/graphite-project/graphite-web/issues/2008)","status":"published","published":"2019-10-25T13:55:20Z","modified":"2026-07-08T06:00:25.683795834Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"},{"version":"4.0","score":8.7,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-918"],"updated_at":"2026-11-02T15:46:57.348035Z"},{"id":"UBUNTU-CVE-2017-18638","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T23:15:00Z","modified":"2026-02-04T04:15:05.853331Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:54:14.977781Z"},{"id":"DLA-1962-1","title":"graphite-web - security update","status":"published","published":"2019-10-21T00:00:00Z","modified":"2026-03-09T01:19:43.105685Z","updated_at":"2026-11-02T15:46:10.227108Z"},{"id":"PYSEC-2019-151","description":"send_email in graphite-web/webapp/graphite/composer/views.py in Graphite through 1.1.5 is vulnerable to SSRF. 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 e-mail address that can be supplied by the attacker. Thus, an attacker can exfiltrate any information.","status":"published","published":"2019-10-11T23:15:00Z","modified":"2023-11-08T03:59:16.529146Z","updated_at":"2026-11-02T15:52:52.192131Z"},{"id":"SUSE-SU-2019:2803-1","title":"Security update for graphite-web","description":"This update for graphite-web fixes the following issues:\n\n- CVE-2017-18638: Fixed an SSRF vulnerability in send_email (bsc#1154007).\n","status":"published","published":"2019-10-29T10:39:34Z","modified":"2026-02-04T03:52:56.127363Z","updated_at":"2026-11-02T15:53:47.06185Z"},{"id":"USN-6243-1","title":"graphite-web vulnerabilities","description":"It was discovered that Graphite-Web incorrectly handled certain inputs. If a\nuser or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to perform\nserver-side request forgery and obtain sensitive information. This issue\nonly affected Ubuntu 16.04 LTS and Ubuntu 18.04 LTS. (CVE-2017-18638)\n\nIt was discovered that Graphite-Web incorrectly handled certain inputs. If a\nuser or an automated system were tricked into opening a specially crafted\ninput file, a remote attacker could possibly use this issue to perform \ncross site scripting and obtain sensitive information. (CVE-2022-4728,\nCVE-2022-4729, CVE-2022-4730)\n","status":"published","published":"2023-07-25T08:34:41Z","modified":"2026-06-29T13:50:55.465953701Z","updated_at":"2026-11-02T16:58:17.305935Z"}]}}
