{"id":"PYSEC-2026-2268","details":"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.","aliases":["CVE-2026-27448","GHSA-vp96-hxj8-p424"],"modified":"2026-07-13T07:30:41.941051595Z","published":"2026-03-18T00:16:19.107Z","references":[{"type":"ADVISORY","url":"https://github.com/pyca/pyopenssl/blob/358cbf29c4e364c59930e53a270116249581eaa3/CHANGELOG.rst#L27"},{"type":"ADVISORY","url":"https://github.com/pyca/pyopenssl/security/advisories/GHSA-vp96-hxj8-p424"},{"type":"FIX","url":"https://github.com/pyca/pyopenssl/commit/d41a814759a9fb49584ca8ab3f7295de49a85aa0"}],"affected":[{"package":{"name":"pyopenssl","ecosystem":"PyPI","purl":"pkg:pypi/pyopenssl"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.14"},{"fixed":"26.0.0"}]}],"versions":["0.14","0.15","0.15.1","16.0.0","16.1.0","16.2.0","17.0.0","17.1.0","17.2.0","17.3.0","17.4.0","17.5.0","18.0.0","19.0.0","19.1.0","20.0.0","20.0.1","21.0.0","22.0.0","22.1.0","23.0.0","23.1.0","23.1.1","23.2.0","23.3.0","24.0.0","24.1.0","24.2.1","24.3.0","25.0.0","25.1.0","25.2.0","25.3.0"],"ecosystem_specific":{},"database_specific":{"source":"https://github.com/pypa/advisory-database/blob/main/vulns/pyopenssl/PYSEC-2026-2268.yaml"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}]}