{"id":"CVE-2019-20916","aliases":["GHSA-gpvv-69j7-gwj8","PYSEC-2020-173"],"url":"https://o3.security/vulnerability/CVE-2019-20916","summary":"Path Traversal in pip","details":"The pip package before 19.2 for Python allows Directory Traversal when a URL is given in an install command, because a Content-Disposition header can have ../ in a filename, as demonstrated by overwriting the /root/.ssh/authorized_keys file. This occurs in _download_http_url in _internal/download.py.","published":"2020-09-04T20:15:11.013Z","modified":"2026-08-27T03:30:46.631794004Z","cvss":{"score":7.5,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"},"epss":null,"cisaKev":null,"exploitsKnown":null,"affectedPackages":[{"ecosystem":"PyPI","name":"pip","fixedVersion":"19.2"}],"fix":{"url":"https://github.com/gzpan123/pip/commit/a4c735b14a62f9cb864533808ac63936704f2ace","label":"gzpan123/pip@a4c735b"},"references":[{"type":"ADVISORY","url":"http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00005.html"},{"type":"ADVISORY","url":"http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00010.html"},{"type":"ADVISORY","url":"https://lists.debian.org/debian-lts-announce/2020/09/msg00010.html"},{"type":"FIX","url":"https://github.com/gzpan123/pip/commit/a4c735b14a62f9cb864533808ac63936704f2ace"},{"type":"FIX","url":"https://github.com/pypa/pip/compare/19.1.1...19.2"},{"type":"FIX","url":"https://github.com/pypa/pip/issues/6413"},{"type":"FIX","url":"https://www.oracle.com/security-alerts/cpuapr2022.html"},{"type":"FIX","url":"https://www.oracle.com/security-alerts/cpujul2022.html"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-27T03:30:46.631794004Z"}}