← Vulnerability feed

Vulnerability record · CVE-2018-20225 · published 8 May 2020

CVE-2018-20225: Pypa pip improper input validation vulnerability

Pypa · Pip

An issue was discovered in pip (all versions) because it installs the version with the highest version number, even if the user had intended to obtain a private package from a private index. This only affects use of the --extra-index-url option, and exploitation requires that the package does not already exist in the public index (and thus the attacker can put the package there with an arbitrary version number). NOTE: it has been reported that this is intended functionality and the user is responsible for using --extra-index-url securely

7.8 CVSS 3.1 High EPSS 1.8% · top 22.6% CWE-20 · Improper input validation
7.8CVSS 3.1 base score, v2 6.8
1.8%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
8References
17 Jun 2026Last modified by NVD

Description

An issue was discovered in pip (all versions) because it installs the version with the highest version number, even if the user had intended to obtain a private package from a private index. This only affects use of the --extra-index-url option, and exploitation requires that the package does not already exist in the public index (and thus the attacker can put the package there with an arbitrary version number). NOTE: it has been reported that this is intended functionality and the user is responsible for using --extra-index-url securely

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2018-20225 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

7.5CVE-2019-20916Pypa pip path traversal vulnerabilityThe 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…EPSS 3.0%6.8CVE-2013-1629Pypa pip improper input validation vulnerabilitypip before 1.3 uses HTTP to retrieve packages from the PyPI repository, and does not perform integrity checks on package contents, which allows man-i…EPSS 6.2%5.9CVE-2013-5123Pypa pip improper authentication vulnerabilityThe mirroring support (-M, --use-mirrors) in Python Pip before 1.5 uses insecure DNS querying and authenticity checks which allows attackers to perfo…EPSS 8.0%5.7CVE-2021-3572Pypa pip improper input validation vulnerabilityA flaw was found in python-pip in the way it handled Unicode separators in git references. A remote attacker could possibly use this issue to install…EPSS 1.8%5.6CVE-2026-13346Pypa pip vulnerabilitypip would incorrectly handle doubly-encoded package URLs from indexes allowing for files to be installed to arbitrary locations on disk even when ins…EPSS 0.29%4.1CVE-2026-8643Pypa pip path traversal vulnerabilitypip would treat console_scripts and gui_scripts as paths instead of file names without sanitizing the resolved absolute path to the installation dire…EPSS 0.47%3.3CVE-2023-5752Pypa pip command injection vulnerabilityWhen installing a package from a Mercurial VCS URL (ie "pip install hg+...") with pip prior to v23.3, the specified Mercurial revision could be used …EPSS 0.48%2.1CVE-2014-8991Pypa pip vulnerabilitypip 1.3 through 1.5.6 allows local users to cause a denial of service (prevention of package installation) by creating a /tmp/pip-build-* file for an…EPSS 0.39%

Source: NIST National Vulnerability Database (record CVE-2018-20225), CISA KEV, FIRST EPSS (scores of 2026-09-28). This page is refreshed as NVD updates the record.