CVE-2019-20916
Vulnerability Summary
Timeline
Description
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.
CVSS Metrics
- v4.0•HIGH•Score: 8.7CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
- v3.1•HIGH•Score: 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- v2.0•MEDIUM•Score: 5AV:N/AC:L/Au:N/C:N/I:P/A:N
EPSS Trends
Current EPSS score: 0.62%• Percentile: 70%
Techniques & Countermeasures
- CWE-22•Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
Affected Systems
- debian•debian_linux
9.0
- opensuse•leap
15.1 | 15.2
- oracle•communications_cloud_native_core_network_function_cloud_native_environment
1.10.0 | 22.1.0
- oracle•communications_cloud_native_core_policy
1.15.0
- pypa•pip
< 19.2
- PyPI•pip
< a4c735b14a62f9cb864533808ac63936704f2ace | < 19.2
References (12)
- https://github.com/pypa/pip/issues/6413
- https://github.com/gzpan123/pip/commit/a4c735b14a62f9cb864533808ac63936704f2ace
- https://github.com/pypa/pip/compare/19.1.1...19.2
- https://lists.debian.org/debian-lts-announce/2020/09/msg00010.html
- http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00005.html
- http://lists.opensuse.org/opensuse-security-announce/2020-10/msg00010.html
- https://www.oracle.com/security-alerts/cpuapr2022.html
- https://www.oracle.com/security-alerts/cpujul2022.html
- https://nvd.nist.gov/vuln/detail/CVE-2019-20916
- https://github.com/advisories/GHSA-gpvv-69j7-gwj8
- https://github.com/pypa/advisory-database/tree/main/vulns/pip/PYSEC-2020-173.yaml
- https://github.com/pypa/pip