CVE-2018-20060 json
Exposure of Sensitive Information to an Unauthorized Actor in urllib3
published 2018-12-11 7 y ago modified 2026-06-17 4 mo ago also GHSA-www2-v7xj-xrc6 , PYSEC-2018-32 , EUVD-2018-0144
- cvss
- 9.8
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 4.5%
- EPSS 4.5% chance of exploitation in 30 days, percentile 91%
- public exploits
- 0
- none known
Summary
urllib3 before version 1.23 does not remove the Authorization HTTP header when following a cross-origin redirect (i.e., a redirect that differs in host, port, or scheme). This can allow for credentials in the Authorization header to be exposed to unintended hosts or transmitted in cleartext.
Patch / fix
- pypi urllib3 1.23
- python urllib3 1.23
- python-urllib3 Debian 14, Debian 13, Debian 12 1.24-1
debian advisories DEBIAN-CVE-2018-20060
- python-urllib3 Ubuntu 16.04 LTS 1.13.1-2ubuntu0.16.04.3
- python-urllib3 Ubuntu 18.04 LTS 1.22-1ubuntu0.18.04.1
ubuntu advisories UBUNTU-CVE-2018-20060
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python-virtualenv RHEL 7 15.1.0-4.el7_8
- python-pip RHEL 7 9.0.3-7.el7_8
- python3-pip RHEL 7 9.0.3-7.el7_8
- python-pip RHEL 8 9.0.3-16.el8
- python3-pip RHEL 8 9.0.3-16.el8
- python3-pip-wheel RHEL 8 9.0.3-16.el8
- platform-python-pip RHEL 8 9.0.3-16.el8
- pytz RHEL 8 2017.2-12.module+el8.1.0+3111+de3f2d8e
red hat advisories RHSA-2020:2081RHSA-2020:2068RHSA-2020:1916RHSA-2020:1605RHSA-2020:0851RHSA-2020:0850
- python-urllib3 OpenStack Cloud 7 1.16-3.6.1
- python-urllib3 SLE Module for Public Cloud 12, Manager Server 3.2, Enterprise Storage 5 +1 more 1.22-3.14.1
- python-urllib3 SLE Module for Basesystem 15 1.22-6.4.1
- python-urllib3 OpenStack Cloud Crowbar 8, OpenStack Cloud 8, HPE Helion OpenStack 8 1.22-5.6.1
suse advisories SUSE-SU-2019:2399-1SUSE-SU-2019:2370-1SUSE-SU-2019:2331-1SUSE-SU-2019:2300-1
- python-kubernetes openSUSE Tumbleweed 35.0.0-2.4
- python-urllib3 openSUSE Tumbleweed 2.8.0-1.1
- python-urllib3_1 openSUSE Tumbleweed 1.26.20-7.2
- python-kubernetes openSUSE Tumbleweed 28.1.0-4.3
- python-urllib3 openSUSE Tumbleweed 2.1.0-3.1
- python-urllib3 openSUSE Tumbleweed 1.26.6-1.2
- python-urllib3 openSUSE Leap 15.0 1.22-lp150.5.3.1
opensuse advisories openSUSE-SU-2026:12013-1openSUSE-SU-2026:12044-1openSUSE-SU-2026:12045-1openSUSE-SU-2024:14144-1openSUSE-SU-2024:14055-1openSUSE-SU-2024:11277-1
- python2-py AlmaLinux 8 1.5.3-6.module_el8.6.0+2781+fed64c13
- python2-dns AlmaLinux 8 1.15.0-10.module_el8.6.0+2781+fed64c13
- python2-idna AlmaLinux 8 2.5-7.module_el8.6.0+2781+fed64c13
- python2-mock AlmaLinux 8 2.0.0-13.module_el8.6.0+2781+fed64c13
- python2-pytz AlmaLinux 8 2017.2-12.module_el8.6.0+2781+fed64c13
- python2-attrs AlmaLinux 8 17.4.0-10.module_el8.6.0+2781+fed64c13
- python2-Cython AlmaLinux 8 0.28.1-7.module_el8.6.0+2781+fed64c13
- python2-pluggy AlmaLinux 8 0.6.0-8.module_el8.6.0+2781+fed64c13
almalinux advisories ALSA-2020:1605
- pytz Rocky Linux 8 2017.2-12.module+el8.5.0+706+735ec4b3
- pytz Rocky Linux 8 2017.2-12.module+el8.4.0+403+9ae17a31
- babel Rocky Linux 8 2.5.1-9.module+el8.4.0+403+9ae17a31
- scipy Rocky Linux 8 1.0.0-20.module+el8.3.0+120+426d8baf
- Cython Rocky Linux 8 0.28.1-7.module+el8.5.0+706+735ec4b3
- Cython Rocky Linux 8 0.28.1-7.module+el8.4.0+403+9ae17a31
- pytest Rocky Linux 8 3.4.2-13.module+el8.5.0+706+735ec4b3
- pytest Rocky Linux 8 3.4.2-13.module+el8.4.0+403+9ae17a31
rocky linux advisories RLSA-2020:1605
- github.com/urllib3/urllib3@560bd22 commit
- github.com/urllib3/urllib3#1346 pull request
- bugzilla.redhat.com/show_bug.cgi?id=1649153 advisory
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2018-20060 updated cvss 5.3
python-urllib3: Cross-host redirect does not remove Authorization header allow for credential exposure
-
Red Hat Enterprise Linux 6 python-urllib3 Red Hat OpenShift Container Platform 3.6 python-urllib3, python2-urllib3 Red Hat OpenShift Container Platform 3.7 python-urllib3, python2-urllib3affected: workaround, no fix planned “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.”
-
Red Hat OpenShift Container Platform 3.9 python-urllib3, python2-urllib3 Red Hat OpenShift Container Platform 3.10 python-urllib3, python2-urllib3affected: workaround, no fix available “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.”
-
Red Hat OpenShift Container Platform 3.11 python-urllib3, python2-urllib3 Red Hat OpenStack Platform 8 (Liberty) python-urllib3 Red Hat OpenStack Platform 9 (Mitaka) python-urllib3 Red Hat OpenStack Platform 10 (Newton) python-urllib3 Red Hat OpenStack Platform 13 (Queens) python2-urllib3affected: workaround, no fix planned “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.”
-
Red Hat OpenStack Platform 14 (Rocky) python2-urllib3affected: workaround, no fix available “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.”
-
Red Hat Satellite 6 python-urllib3, python3-urllib3 Red Hat Software Collections python27-python-pip, rh-python36-python-pip, python27-python-virtualenv, rh-python36-python-virtualenv Red Hat Storage 3 python-urllib3, python2-urllib3affected: workaround, no fix planned “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.”
-
Red Hat Ansible Tower 3.5 for RHEL 7 Server ansible-tower-35/ansible-tower 3.5.6-1fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHBA-2020:1539
-
Red Hat Ansible Tower 3.6 for RHEL 7 ansible-tower-36/ansible-tower 3.6.4-1fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHBA-2020:1540
-
Red Hat Enterprise Linux AppStream (v. 8) python3-pip 9.0.3-16.el8, babel 2.5.1-9.module+el8.1.0+3111+de3f2d8e, pytz 2017.2-12.module+el8.1.0+3111+de3f2d8e, PyYAML 3.12-16.module+el8.1.0+3111+de3f2d8e, scipy 1.0.0-20.module+el8.1.0+3323+7ac3e00f, Cython 0.28.1-7.module+el8.1.0+3111+de3f2d8e, +85 morefixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:1605
show 7 moreshow fewer
-
Red Hat Enterprise Linux BaseOS (v. 8) python-pip 9.0.3-16.el8, python3-pip-wheel 9.0.3-16.el8, platform-python-pip 9.0.3-16.el8fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:1916
-
Red Hat Enterprise Linux Client (v. 7) python-pip 9.0.3-7.el7_7, python-pip 9.0.3-7.el7_8, python3-pip 9.0.3-7.el7_7, python3-pip 9.0.3-7.el7_8, python-urllib3 1.10.2-7.el7fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:0850
-
Red Hat Enterprise Linux Client Optional (v. 7) python-virtualenv 15.1.0-4.el7_7, python-virtualenv 15.1.0-4.el7_8fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:0851
-
Red Hat Enterprise Linux ComputeNode (v. 7) python-pip 9.0.3-7.el7_7, python-pip 9.0.3-7.el7_8, python3-pip 9.0.3-7.el7_7, python3-pip 9.0.3-7.el7_8, python-urllib3 1.10.2-7.el7fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:0850
-
Red Hat Enterprise Linux ComputeNode Optional (v. 7) python-virtualenv 15.1.0-4.el7_7, python-virtualenv 15.1.0-4.el7_8fixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:0851
-
Red Hat Enterprise Linux Server (v. 7) python-pip 9.0.3-7.el7_7, python-pip 9.0.3-7.el7_8, python3-pip 9.0.3-7.el7_7, python3-pip 9.0.3-7.el7_8, python-urllib3 1.10.2-7.el7, python-virtualenv 15.1.0-4.el7_7, +1 more Red Hat Enterprise Linux Workstation (v. 7) python-pip 9.0.3-7.el7_7, python-pip 9.0.3-7.el7_8, python3-pip 9.0.3-7.el7_7, python3-pip 9.0.3-7.el7_8, python-urllib3 1.10.2-7.el7, python-virtualenv 15.1.0-4.el7_7, +1 morefixed: vendor fix “Use `retries=urllib3.Retry(redirect=0)` when performing requests if you do not need redirection and handle the redirects manually if you need them.” RHSA-2020:0850
-
Red Hat Enterprise Linux 8 python-urllib3, python3-urllib3, python-virtualenv, python2-virtualenv, python3-virtualenvnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
4.49% chance of exploitation in the next 30 days, higher than 91% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 9.8 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:P/I:N/A:N |
| GitHub | 3.0 | 9.8 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | urllib3 | <1.23 |
1.23 |
Classification
- Weakness
-
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
References
-
github.com
/urllib3/urllib3/pull/1346
web, third-party-advisory
-
bugzilla.redhat.com
/show_bug.cgi?id=1649153
web, issue-tracking, mitigation, patch, third-party-advisory, report
-
github.com
/urllib3/urllib3/commit/560bd227b90f74417ffaedebf5f8d05a8ee4f532
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/5SJERZEJDSUYQP7BNBXMBHRHGY26HRZD/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/XWP36YW3KSVLXDBY3QJKDYEPCIMN3VQZ/
vendor-advisory
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/BXLAXHM3Z6DUCXZ7ZXZ2EAYJXWDCZFCT/
vendor-advisory
-
usn.ubuntu.com
/3990-1/
vendor-advisory, web
-
access.redhat.com
/errata/RHSA-2019:2272
vendor-advisory, web, advisory
-
lists.opensuse.org
/opensuse-security-announce/2019-09/msg00039.html
vendor-advisory, web
-
github.com
/urllib3/urllib3/issues/1316
web, third-party-advisory, report
-
github.com
/urllib3/urllib3/blob/master/CHANGES.rst
web, release-notes, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2021/06/msg00015.html
mailing-list, web
- security.netapp.com /advisory/ntap-20241227-0010/
-
nvd.nist.gov
/vuln/detail/CVE-2018-20060
advisory
-
usn.ubuntu.com
/3990-1
web
-
security.netapp.com
/advisory/ntap-20241227-0010
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/XWP36YW3KSVLXDBY3QJKDYEPCIMN3VQZ
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/BXLAXHM3Z6DUCXZ7ZXZ2EAYJXWDCZFCT
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/5SJERZEJDSUYQP7BNBXMBHRHGY26HRZD
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/XWP36YW3KSVLXDBY3QJKDYEPCIMN3VQZ
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/BXLAXHM3Z6DUCXZ7ZXZ2EAYJXWDCZFCT
web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/5SJERZEJDSUYQP7BNBXMBHRHGY26HRZD
web
-
github.com
/urllib3/urllib3
package
-
github.com
/pypa/advisory-database/tree/main/vulns/urllib3/PYSEC-2018-32.yaml
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/5SJERZEJDSUYQP7BNBXMBHRHGY26HRZD/
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/XWP36YW3KSVLXDBY3QJKDYEPCIMN3VQZ/
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/BXLAXHM3Z6DUCXZ7ZXZ2EAYJXWDCZFCT/
web
-
github.com
/advisories/GHSA-www2-v7xj-xrc6
advisory
Sources
- CVE List CVE-2018-20060
- GitHub Advisory GHSA-www2-v7xj-xrc6
- NVD CVE-2018-20060
- OSV PYSEC-2018-32
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.