{"id":"CVE-2019-17221","aliases":["GHSA-x43g-gj9x-838x"],"url":"https://o3.security/vulnerability/CVE-2019-17221","summary":"PhantomJS Arbitrary File Read","details":"PhantomJS through 2.1.1 has an arbitrary file read vulnerability, as demonstrated by an XMLHttpRequest for a file:// URI. The vulnerability exists in the page.open() function of the webpage module, which loads a specified URL and calls a given callback. An attacker can supply a specially crafted HTML file, as user input, that allows reading arbitrary files on the filesystem. For example, if page.render() is the function callback, this generates a PDF or an image of the targeted file. NOTE: this product is no longer developed.","published":"2019-11-05T14:15:13.537Z","modified":"2026-10-24T10:30:36.847044976Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"},"epss":{"score":0.03424,"percentile":0.88023,"asOf":"2026-08-23"},"cisaKev":null,"exploitsKnown":3,"affectedPackages":[{"ecosystem":"npm","name":"phantomjs","fixedVersion":null}],"fix":null,"references":[{"type":"EVIDENCE","url":"https://www.darkmatter.ae/blogs/breaching-the-perimeter-phantomjs-arbitrary-file-read/"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2019-17221"},{"type":"PACKAGE","url":"https://github.com/Medium/phantomjs"},{"type":"WEB","url":"https://web.archive.org/web/20191220171022/https://www.darkmatter.ae/blogs/breaching-the-perimeter-phantomjs-arbitrary-file-read"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-10-24T10:30:36.847044976Z"}}