# CVE-2026-19553: Python ssl.SSLContext.wrap_bio() hostname verification bypass

Source: https://junglewise.ai/threats/cve-2026-19553-ssl-sslcontext-wrap-bio-didn-t-require-the-server-hostname  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-30. Updated: 2026-09-30  
License: CC BY 4.0 with a link back

CVE-2026-19553 · Severity: info · Published 2026-09-30

Python's SSL module did not validate required parameters in wrap_bio(), allowing certificate hostname verification to be silently skipped even when check_hostname was enabled. Applications relying on hostname verification for secure connections could accept certificates for unintended hosts, enabling man-in-the-middle attacks if attackers can intercept network traffic.

Technologies: [Python](https://junglewise.ai/threats/technologies/python). Vendors: [Python](https://junglewise.ai/threats/vendors/python).

## Quick answers

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

**How severe is CVE-2026-19553?** Informational severity, published 30 September 2026.

**Which products and versions are affected?** Python 3.10 through 3.15.

**Is there a fix for CVE-2026-19553?** A patch was published on 2026-09-30. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-19553 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-19553?** Check whether you run Python 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.

## Technical details

The ssl.SSLContext.wrap_bio() method failed to enforce that server_hostname must be a non-None, non-empty value when check_hostname is True, unlike the similar wrap_socket() method. An attacker could exploit misconfigured applications by omitting the server_hostname parameter, causing hostname verification to silently fail and accept any certificate. The fix adds parameter validation to raise ValueError when server_hostname is missing or empty under these conditions.

## Affected products

- Python Python 3.10 through 3.15

## Timeline

- 2026-09-30: disclosed
- 2026-09-30: patched

## References

- [https://github.com/python/cpython/issues/156793](https://github.com/python/cpython/issues/156793)
- [https://github.com/python/cpython/pull/158503](https://github.com/python/cpython/pull/158503)

## Related threats

- [Python ssl module denylist for compromised certificates](https://junglewise.ai/threats/cve-2026-115557-python-has-added-a-denylist-for-known-compromised-certificates)
