Skip to content
OpenAdvisories

Description

ssl.SSLContext.wrap_bio() didn't require the server_hostname argument
to not be None if ssl.SSLContext.check_hostname was set. Due to a
missing parameter check in SSLObject, if the server_hostname argument
isn't supplied then hostname verification would be silently skipped.

This defect could lead to programs where certificate hostname verification
*appeared* to be succeeding with SSLContext.check_hostname = True and no
ValueError being raised due to misconfiguration.

If the program passes a server_hostname value that isn't an empty string
or None to any of these APIs then certificate hostname verification
proceeds as expected and the program is not affected by this vulnerability.

Mitigating this vulnerability doesn't require updating Python or applying
the patch. To mitigate, pass a valid non-None and non-empty
server_hostname value to SSLContext.wrap_bio(),
asyncio.create_connection(), or asyncio.loop.start_tls() and
certificate hostname verification will proceed as expected. Upgrading to
the latest version of Python or applying the patch only changes the
behavior from silently skipping hostname verification to raising a
ValueError, similar to SSLContext.wrap_socket(), when server_hostname
isn't supplied.

Affected products

VendorProductAffectedFixed
Python Software Foundation CPython < 3.10.22, 3.11.0 – < 3.11.17, 3.12.0 – < 3.12.15, 3.13.0 – < 3.13.16, 3.14.0 – < 3.14.8, 3.15.0a1 – < 3.15.0rc3 3.10.22

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 pypy3 8.0.1+dfsg-1 —
Debian 14 python3.14 3.14.8-1 —
Debian 14 python3.15 3.15.0~rc3-1 —
Debian 13 pypy3 +1 No fix yet —
Debian 12 pypy3 No fix yet —
Debian 12 python3.11 3.11.2-6+deb12u9 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 python3.14 No fix yet —
Ubuntu 26.04 LTS python3.14 No fix yet —
Ubuntu 24.04 LTS python3.12 No fix yet —
Ubuntu 22.04 LTS python3.10 No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 22.04 LTS python2.7 +1 No fix yet —
Ubuntu Pro 20.04 LTS python2.7 +2 No fix yet —
Ubuntu Pro 18.04 LTS python2.7 +3 No fix yet —
Ubuntu Pro 16.04 LTS python2.7 +1 No fix yet —
Ubuntu Pro 14.04 LTS python2.7 +2 No fix yet —
ReleasePackageFixed inAdvisory
RHEL 10 python3 +8 3.12.15-1.el10_2 RHSA-2026:77020
RHEL 10 python3.14 +13 3.14.8-1.el10_2 RHSA-2026:77018
RHEL 9 python3 +8 3.9.25-7.el9_8.6 RHSA-2026:98511, RHSA-2026:89742
RHEL 9 python3.12 +6 3.12.15-1.el9_8 RHSA-2026:77017
RHEL 9 python3.14 +13 3.14.8-1.el9_8 RHSA-2026:77021
RHEL 8 python3 +7 3.6.8-79.el8_10 RHSA-2026:85239
RHEL 8 python3.12 +7 3.12.15-2.el8_10 RHSA-2026:77028
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 8.6 EUS Long Life python3 +7 3.6.8-47.el8_6.16 RHSA-2026:94443
RHEL 8.6 AUS python3 +7 3.6.8-47.el8_6.16 RHSA-2026:94443
RHEL 8.4 EUS Long Life python3 +7 3.6.8-39.el8_4.13 RHSA-2026:95082
RHEL 8.4 AUS python3 +7 3.6.8-39.el8_4.13 RHSA-2026:95082
Red Hat Hardened Images 1 python3 +15 3.14.7-1.3.hum1 RHSA-2026:74587
Red Hat Hardened Images 1 python3.10 +6 3.10.21-1.5.hum1 RHSA-2026:74594
Red Hat Hardened Images 1 python3.11 +6 3.11.16-1.5.hum1 RHSA-2026:74599
Red Hat Hardened Images 1 python3.12 +6 3.12.14-1.4.hum1 RHSA-2026:74606
Red Hat Hardened Images 1 python3.13 +8 3.13.15-1.4.hum1 RHSA-2026:74605

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 python3 +7 3.12.15-1.el10_2 ALSA-2026:77020
AlmaLinux 10 python3.14 +13 3.14.8-1.el10_2 ALSA-2026:77018
AlmaLinux 9 python3 +7 3.9.25-7.el9_8.6 ALSA-2026:89742
AlmaLinux 9 python3.12 +6 3.12.15-1.el9_8 ALSA-2026:77017
AlmaLinux 9 python3.14 +13 3.14.8-1.el9_8 ALSA-2026:77021
AlmaLinux 8 python3-idle +6 3.6.8-79.el8_10.alma.1 ALSA-2026:85239
AlmaLinux 8 python3.12 +7 3.12.15-2.el8_10 ALSA-2026:77028

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 python3.12 3.12.15-1.el10_2 RLSA-2026:77020
Rocky Linux 10 python3.14 3.14.8-1.el10_2 RLSA-2026:77018
Rocky Linux 9 python3.12 3.12.15-1.el9_8 RLSA-2026:77017
Rocky Linux 9 python3.14 3.14.8-1.el9_8 RLSA-2026:77021
Rocky Linux 9 python3.9 3.9.25-7.el9_8.6 RLSA-2026:89742
Rocky Linux 8 python3 3.6.8-79.el8_10.rocky.0 RLSA-2026:85239
Rocky Linux 8 python3.12 3.12.15-2.el8_10 RLSA-2026:77028
ReleasePackageFixed inAdvisory
SLES 15 SP7 python311-core 3.11.17-150600.3.74.1 SUSE-SU-2026:4946-1
SLES 15 SP6 python311 +1 3.11.17-150600.3.74.1 SUSE-SU-2026:4946-1
SLES 15 SP6 python312 +1 3.12.15-150600.3.71.1 SUSE-SU-2026:4659-1
SLES 15 SP5 python311 +2 3.11.17-150400.9.105.1 SUSE-SU-2026:4809-1
SLES 15 SP4 python310 +1 3.10.22-150400.4.129.1 SUSE-SU-2026:4630-1
SLES 15 SP4 python311 +2 3.11.17-150400.9.105.1 SUSE-SU-2026:4809-1
SLES 3 python311 +1 3.11.17-150600.3.74.1 SUSE-SU-2026:4946-1
SLES 3 python313 +1 3.13.16-150700.4.61.1 SUSE-SU-2026:4941-1
Show 7 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP6 python311 +1 3.11.17-150600.3.74.1 SUSE-SU-2026:4946-1
SLES for SAP 15 SP6 python312 +1 3.12.15-150600.3.71.1 SUSE-SU-2026:4659-1
SLES for SAP 15 SP5 python311 +2 3.11.17-150400.9.105.1 SUSE-SU-2026:4809-1
SLES for SAP 15 SP4 python310 +1 3.10.22-150400.4.129.1 SUSE-SU-2026:4630-1
SLES for SAP 15 SP4 python311 +2 3.11.17-150400.9.105.1 SUSE-SU-2026:4809-1
SLE Micro 6.1 python311 +1 3.11.17-slfo.1.1_1.1 SUSE-SU-2026:24280-1
SLE Micro 6.0 python311 +1 3.11.17-159998.1.1 SUSE-SU-2026:24325-1
SLE HPC 15 SP5 python311 +2 3.11.17-150400.9.105.1 SUSE-SU-2026:4809-1
SLE HPC 15 SP4 python310 +1 3.10.22-150400.4.129.1 SUSE-SU-2026:4630-1
SLE HPC 15 SP4 python311 +2 3.11.17-150400.9.105.1 SUSE-SU-2026:4809-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed python310 3.10.22-1.1 openSUSE-SU-2026:12087-1
openSUSE Tumbleweed python311 3.11.17-1.1 openSUSE-SU-2026:12121-1
openSUSE Tumbleweed python312 3.12.15-1.1 openSUSE-SU-2026:12122-1
openSUSE Tumbleweed python313 3.13.16-1.1 openSUSE-SU-2026:12123-1
openSUSE Tumbleweed python314 3.14.8-1.1 openSUSE-SU-2026:12124-1
openSUSE Tumbleweed python315 3.15.0~rc3-1.1 openSUSE-SU-2026:12069-1
ReleasePackageFixed inAdvisory
Alpine v3.24 python3 3.14.8-r0 —
Alpine v3.23 python3 3.12.15-r0 —
Alpine v3.22 python3 3.12.15-r0 —
Alpine v3.21 python3 3.12.15-r0 —

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 python3 +7 3.9.25-1.amzn2023.0.11 ALAS2023-2026-3278
Amazon Linux 2023 python3.11 +6 3.11.17-1.amzn2023.0.1 ALAS2023-2026-3231
Amazon Linux 2023 python3.12 +6 3.12.15-2.amzn2023.0.1 ALAS2023-2026-3230
Amazon Linux 2023 python3.13 +8 3.13.16-1.amzn2023.0.1 ALAS2023-2026-3229
Amazon Linux 2023 python3.14 +13 3.14.8-1.amzn2023.0.1 ALAS2023-2026-3232
Amazon Linux 2 python3 +6 3.7.16-1.amzn2.0.30 ALAS2-2026-4025

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 python3 +1 No fix yet —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 python3 +7 3.12.15-1.0.1.el10_2 ELSA-2026-77020
Oracle Linux 10 python3.14 +13 3.14.8-1.el10_2 ELSA-2026-77018
Oracle Linux 9 python3 +7 3.9.25-7.0.1.el9_8.6 ELSA-2026-89742
Oracle Linux 9 python3.12 +6 3.12.15-1.0.1.el9_8 ELSA-2026-77017
Oracle Linux 9 python3.14 +13 3.14.8-1.el9_8 ELSA-2026-77021
Oracle Linux 8 python3-idle +6 3.6.8-79.0.1.el8_10 ELSA-2026-85239
Oracle Linux 8 python3.12 +7 3.12.15-2.el8_10 ELSA-2026-77028

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 3 repositories

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 50

References