Skip to content
Fencer Intel
critical 9.8

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

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-urllib3
    affected: 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-urllib3
    affected: 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-urllib3
    affected: 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-urllib3
    affected: 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-urllib3
    affected: 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-1
    fixed: 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-1
    fixed: 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 more
    fixed: 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 more
  • 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.el8
    fixed: 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.el7
    fixed: 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_8
    fixed: 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.el7
    fixed: 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_8
    fixed: 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 more
    fixed: 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-virtualenv
    not 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-09).

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

Sources

Fencer Intel 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.