{"id":"CVE-2017-16762","aliases":["EUVD-2017-0127","GHSA-mpmf-hr8p-p49g","PYSEC-2017-40"],"status":"published","title":"Sanic arbitrary file read and directory traversal","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the /static/..%2f substring.","severity":{"version":"3.0","score":7.5,"vector":"CVSS:3.0/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-09","score":0.02494,"percentile":0.84782,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2017-11-10T09:00:00Z","modified":"2026-10-20T10:47:47Z","fixes":[{"ecosystem":"PyPI","package":"sanic","fixed_in":["0.5.1"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"sanic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.1"}]}]},{"source":"osv","ecosystem":"PyPI","package":"sanic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.1"}]}],"versions":["0.1.0","0.1.1","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.2.0","0.3.0","0.3.1","0.4.0","0.4.1","0.5.0"]},{"source":"osv","ecosystem":"PyPI","package":"sanic","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.5.1"}]}],"versions":["0.1.0","0.1.1","0.1.3","0.1.4","0.1.5","0.1.6","0.1.7","0.1.8","0.1.9","0.2.0","0.3.0","0.3.1","0.4.0","0.4.1","0.5.0"]}],"products":[{"vendor":"sanic_project","product":"sanic"}],"references":[{"url":"https://github.com/channelcat/sanic/releases/tag/0.5.1","tags":["x_refsource_CONFIRM","x_transferred","Release Notes","Third Party Advisory","advisory","web"]},{"url":"https://github.com/channelcat/sanic/issues/633","tags":["x_refsource_CONFIRM","x_transferred","Exploit","Third Party Advisory","evidence","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2017-16762","tags":["advisory"]},{"url":"https://github.com/sanic-org/sanic/pull/635","tags":["web"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/sanic/PYSEC-2017-40.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-mpmf-hr8p-p49g","tags":["advisory"]},{"url":"https://github.com/sanic-org/sanic","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2017-16762","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the /static/..%2f substring.","status":"published","published":"2017-11-10T09:00:00Z","modified":"2024-08-05T20:35:21.033Z","updated_at":"2026-11-02T14:33:21.453505Z"}],"euvd":[{"id":"EUVD-2017-0127","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the /static/..%2f substring.","status":"published","published":"2017-11-10T09:00:00Z","modified":"2024-08-05T20:35:21Z","updated_at":"2026-11-03T02:23:11.533108Z"}],"ghsa":[{"id":"GHSA-mpmf-hr8p-p49g","title":"Sanic arbitrary file read and directory traversal","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the `/static/..%2f` substring.","status":"published","published":"2022-05-17T00:19:52Z","modified":"2024-10-25T20:22:51Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:38:13.09489Z"}],"nvd":[{"id":"CVE-2017-16762","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the /static/..%2f substring.","status":"published","published":"2017-11-10T09:29:00.33Z","modified":"2026-06-17T01:09:52.97Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/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-22"],"updated_at":"2026-11-02T14:04:08.635428Z"}],"osv":[{"id":"CVE-2017-16762","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the /static/..%2f substring.","status":"published","published":"2017-11-10T09:29:00.33Z","modified":"2026-10-20T10:47:47.107954229Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"updated_at":"2026-11-02T15:44:04.853379Z"},{"id":"GHSA-mpmf-hr8p-p49g","title":"Sanic arbitrary file read and directory traversal","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the `/static/..%2f` substring.","status":"published","published":"2022-05-17T00:19:52Z","modified":"2024-10-25T20:25:48.690505Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:52.170928Z"},{"id":"PYSEC-2017-40","description":"Sanic before 0.5.1 allows reading arbitrary files with directory traversal, as demonstrated by the /static/..%2f substring.","status":"published","published":"2017-11-10T09:29:00Z","modified":"2026-06-10T17:02:40.240402639Z","updated_at":"2026-11-02T15:52:51.645172Z"}]}}
