# CVE-2016-9015: Urllib3 Incorrect Certificate Validation

Source: https://junglewise.ai/threats/cve-2016-9015-urllib3-incorrect-certificate-validation  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2017-01-11  
License: CC BY 4.0 with a link back

CVE-2016-9015 · Severity: low · CVSS 3 · Published 2017-01-11

Versions 1.17 and 1.18 of the Python urllib3 library suffer from a vulnerability that can cause them, in certain configurations, to not correctly validate TLS certificates. This places users of the library with those configurations at risk of man-in-the-middle and information leakage attacks. This vulnerability affects users using versions 1.17 and 1.18 of the urllib3 library, who are using the optional PyOpenSSL support for TLS instead of the regular standard library TLS backend, and who are using OpenSSL 1.1.0 via PyOpenSSL. This is an extremely uncommon configuration, so the security impact of this vulnerability is low.

Technologies: [urllib3 (PyPI)](https://junglewise.ai/threats/technologies/urllib3). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

**Is CVE-2016-9015 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2016-9015 being exploited in the wild.

**How severe is CVE-2016-9015?** Low severity, with a CVSS score of 3, published 11 January 2017.

**Which products and versions are affected?** urllib3 (PyPI) ECOSYSTEM:introduced=1.17,fixed=1.18.1.

**Is there a fix for CVE-2016-9015?** Yes. urllib3 (PyPI): upgrade to 1.18.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2016-9015?** Check whether you run urllib3 (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- urllib3 (PyPI): upgrade to 1.18.1 or later

  ```sh
  pip install "urllib3>=1.18.1"
  ```


## Affected products

- urllib3 (PyPI) ECOSYSTEM:introduced=1.17,fixed=1.18.1

## Identifiers

- CVE-2016-9015
- GHSA-v4w5-p2hg-8fh6
- PYSEC-2017-98

## Related threats

- [urllib3 HTTP client unbounded memory allocation in chunked transfer](https://junglewise.ai/threats/cve-2026-97689-urllib3-is-an-http-client-library-for-python-from-1-10-3-until-2)
- [urllib3 infinite loop in Deflate decoder](https://junglewise.ai/threats/cve-2026-97688-urllib3-is-an-http-client-library-for-python-from-2-6-2-until-2-8)
- [urllib3 HTTPS proxy TLS settings isolation](https://junglewise.ai/threats/cve-2026-97687-urllib3-is-an-http-client-library-for-python-from-1-26-0-until-2)
- [PYSEC-2026-1997 - urllib3 does not control redirects in browsers and Node.js](https://junglewise.ai/threats/cve-2025-50182-urllib3-does-not-control-redirects-in-browsers-and-node-js)
- [PYSEC-2026-1999 - urllib3 redirects are not disabled when retries are disabled on PoolManager instantiation](https://junglewise.ai/threats/cve-2025-50181-urllib3-redirects-are-not-disabled-when-retries-are-disabled-on)
