Vulnerability · Published Mar 17, 2026 · Assigned by GitHub_M
CVE-2026-27448pyOpenSSL allows TLS connection bypass via unhandled callback exception in set_tlsext_servername_callback
Low 1.7
In plain English
A low-severity security flaw in pyopenssl from pyca. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 17% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
pyOpenSSL is a Python wrapper around the OpenSSL library. Starting in version 0.14.0 and prior to version 26.0.0, if a user provided callback to `set_tlsext_servername_callback` raised an unhandled exception, this would result in a connection being accepted. If a user was relying on this callback for any security-sensitive behavior, this could allow bypassing it. Starting in version 26.0.0, unhandled exceptions now result in rejecting the connection.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine:v3.23 | py3-openssl | 26.1.0-r0 | ALPINE-CVE-2026-27448 |
| Alpine:v3.24 | py3-openssl | 26.1.0-r0 | ALPINE-CVE-2026-27448 |
| Debian:12 | pyopenssl | no fix listed | DEBIAN-CVE-2026-27448 |
| Debian:13 | pyopenssl | 25.0.0-1+deb13u1 | DEBIAN-CVE-2026-27448 |
| Debian:14 | pyopenssl | 26.0.0-1 | DEBIAN-CVE-2026-27448 |
| PyPI | pyopenssl | 26.0.0 | PYSEC-2026-2268 |
| PyPI | pyopenssl | 26.0.0 | GHSA-vp96-hxj8-p424 |
| Ubuntu:22.04:LTS | pyopenssl | 21.0.0-1ubuntu0.1 | UBUNTU-CVE-2026-27448 |
| Ubuntu:24.04:LTS | pyopenssl | 23.2.0-1ubuntu0.1 | UBUNTU-CVE-2026-27448 |
| Ubuntu:25.10 | pyopenssl | 25.0.0-1ubuntu0.1 | UBUNTU-CVE-2026-27448 |
Affected products (as reported)
Weakness: CWE-636 · Vector: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U
References
- https://github.com/pyca/pyopenssl/security/advisories/GHSA-vp96-hxj8-p424 x_refsource_CONFIRM
- https://github.com/pyca/pyopenssl/commit/d41a814759a9fb49584ca8ab3f7295de49a85aa0 x_refsource_MISC
- https://github.com/pyca/pyopenssl/blob/358cbf29c4e364c59930e53a270116249581eaa3/CHANGELOG.rst#L27 x_refsource_MISC