{"id":"CVE-2026-27448","aliases":["GHSA-vp96-hxj8-p424","PYSEC-2026-2268"],"title":"pyOpenSSL allows TLS connection bypass via unhandled callback exception in set_tlsext_servername_callback","summary":"pyOpenSSL allows TLS connection bypass via unhandled callback exception in set_tlsext_servername_callback","severity":"low","vendor":"pyopenssl","product":"pyopenssl","ecosystem":"pip","affected":["pyopenssl >= 0.14.0, < 26.0.0"],"patched":["pyopenssl 26.0.0"],"published":"2026-03-16","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:51:00.753013360Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-vp96-hxj8-p424","references":[{"url":"https://github.com/pyca/pyopenssl/security/advisories/GHSA-vp96-hxj8-p424"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-27448"},{"url":"https://github.com/pyca/pyopenssl/commit/d41a814759a9fb49584ca8ab3f7295de49a85aa0"},{"url":"https://github.com/pyca/pyopenssl"},{"url":"https://github.com/pyca/pyopenssl/blob/358cbf29c4e364c59930e53a270116249581eaa3/CHANGELOG.rst#L27"}],"tags":["osv","pip"],"epss":0.00241,"epssPercentile":0.15552,"ingestedAt":"2026-07-13T18:58:03.715Z","slug":"CVE-2026-27448","body":"## Overview\n\nIf 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.\n\nUnhandled exceptions now result in rejecting the connection.\n\nCredit to **Leury Castillo** for reporting this issue.\n\n## Affected packages\n\n- `pyopenssl >= 0.14.0, < 26.0.0`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `pyopenssl 26.0.0`","depth":"sunlit","depthScore":14,"depthScoreParts":{"impact":13.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}