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.
Published: 2026-03-17
Score: 1.7 Low
EPSS: < 1% Very Low
KEV: No
Impact: TLS Connection Bypass
Action: Apply Patch
AI Analysis

Impact

pyOpenSSL provides a wrapper for OpenSSL. Before version 26.0.0, a provider‑supplied callback to set_tlsext_servername_callback that raised an exception caused the library to accept the TLS connection regardless of the error. This flaw, classified as improper error handling (CWE‑636), allows an attacker to bypass logic that relies on the callback for security considerations, such as rejecting connections that do not match expected server names or protocols.

Affected Systems

The vulnerability impacts the pyca:pyopenssl product. Versions from 0.14.0 through 25.99.999 are affected. Starting with version 26.0.0, the library now rejects connections when the callback raises an unhandled exception, fixing the issue.

Risk and Exploitability

The CVSS score of 1.7 indicates a low severity, and the EPSS score of less than 1 % suggests a very low chance of exploitation. The flaw is not present in the CISA KEV catalog. In practice, exploitation requires a client that triggers an exception in a custom callback, and only systems that rely on that callback for security decisions are truly at risk. Monitoring for unhandled exceptions and applying the available patch therefore mitigates the risk.

Generated by OpenCVE AI on March 23, 2026 at 19:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade pyOpenSSL to version 26.0.0 or later.
  • If upgrade is not immediately possible, ensure any set_tlsext_servername_callback implementation does not raise unhandled exceptions or wrap it in try/except and log the error.
  • Validate that your applications do not rely on untrusted input for that callback.
  • Monitor logs for abnormal TLS connection acceptance or exception traces.

Generated by OpenCVE AI on March 23, 2026 at 19:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-vp96-hxj8-p424 pyOpenSSL allows TLS connection bypass via unhandled callback exception in set_tlsext_servername_callback
Ubuntu USN Ubuntu USN USN-8115-1 pyOpenSSL vulnerabilities
History

Mon, 23 Mar 2026 18:15:00 +0000

Type Values Removed Values Added
First Time appeared Pyopenssl
Pyopenssl pyopenssl
CPEs cpe:2.3:a:pyopenssl:pyopenssl:*:*:*:*:*:*:*:*
Vendors & Products Pyopenssl
Pyopenssl pyopenssl
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N'}

cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}


Thu, 19 Mar 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N'}

threat_severity

Moderate


Wed, 18 Mar 2026 21:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 18 Mar 2026 12:15:00 +0000

Type Values Removed Values Added
First Time appeared Pyca
Pyca pyopenssl
Vendors & Products Pyca
Pyca pyopenssl

Tue, 17 Mar 2026 23:45:00 +0000

Type Values Removed Values Added
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.
Title pyOpenSSL allows TLS connection bypass via unhandled callback exception in set_tlsext_servername_callback
Weaknesses CWE-636
References
Metrics cvssV4_0

{'score': 1.7, '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'}


Subscriptions

Pyca Pyopenssl
Pyopenssl Pyopenssl
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-03-18T20:18:08.768Z

Reserved: 2026-02-19T17:25:31.100Z

Link: CVE-2026-27448

cve-icon Vulnrichment

Updated: 2026-03-18T20:18:06.117Z

cve-icon NVD

Status : Analyzed

Published: 2026-03-18T00:16:19.107

Modified: 2026-03-23T18:10:12.370

Link: CVE-2026-27448

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-03-17T23:24:30Z

Links: CVE-2026-27448 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-03-24T10:54:21Z

Weaknesses