CVE-2026-27448: CWE-636: Not Failing Securely ('Failing Open') in pyca pyopenssl
CVE-2026-27448 is a low-severity vulnerability in pyOpenSSL versions from 0. 14. 0 up to but not including 26. 0. 0. The issue arises when a user-provided callback to set_tlsext_servername_callback raises an unhandled exception, causing the connection to be accepted instead of rejected. This behavior constitutes a 'failing open' security flaw, potentially allowing bypass of security-sensitive logic implemented in the callback. The vulnerability was fixed in version 26. 0. 0, where unhandled exceptions now result in connection rejection.
AI Analysis
Technical Summary
CVE-2026-27448 is a vulnerability in pyOpenSSL, a widely used Python wrapper around the OpenSSL library, affecting versions from 0.14.0 up to but not including 26.0.0. The flaw is related to the handling of unhandled exceptions in user-defined callbacks registered via the set_tlsext_servername_callback API, which is used to process TLS Server Name Indication (SNI) extensions during TLS handshakes. If the callback raises an unhandled exception, instead of failing securely by rejecting the connection, pyOpenSSL would 'fail open' and accept the connection. This behavior can lead to bypassing any security-sensitive logic implemented in the callback, such as hostname validation, access control, or routing decisions based on the SNI value. The vulnerability is classified under CWE-636 (Not Failing Securely). Starting with pyOpenSSL version 26.0.0, this behavior was corrected so that unhandled exceptions cause the connection to be rejected, restoring secure failure behavior. The CVSS v4.0 score is 1.7 (low), reflecting that exploitation requires a specific callback setup and the impact is limited to bypassing the callback logic without broader compromise of confidentiality, integrity, or availability. No public exploits or active exploitation have been reported. This vulnerability primarily affects applications that implement custom SNI callbacks in pyOpenSSL for security purposes.
Potential Impact
The impact of CVE-2026-27448 is relatively limited but can be significant in specific contexts. Organizations using pyOpenSSL with custom SNI callbacks for security-sensitive decisions—such as enforcing hostname-based access controls, routing, or certificate selection—may have those controls bypassed if an unhandled exception occurs in the callback. This could allow unauthorized connections or traffic to be accepted, potentially exposing internal services or sensitive data. However, the vulnerability does not directly allow remote code execution, privilege escalation, or denial of service. The scope is limited to applications that rely on the vulnerable callback mechanism and do not have additional compensating controls. Given the low CVSS score and the requirement for a specific callback setup, the overall risk to most organizations is low. Nonetheless, environments with strict TLS security policies or custom TLS extensions are more exposed. No known exploits in the wild reduce the immediate threat, but the vulnerability should be addressed proactively to maintain secure TLS handling.
Mitigation Recommendations
To mitigate CVE-2026-27448, organizations should upgrade pyOpenSSL to version 26.0.0 or later, where the issue is fixed by rejecting connections on unhandled exceptions in the SNI callback. For environments where immediate upgrade is not feasible, developers should audit and harden their set_tlsext_servername_callback implementations to ensure that exceptions are properly caught and handled within the callback to prevent unhandled exceptions from propagating. Implement comprehensive error handling and logging in the callback code to detect and respond to unexpected failures. Additionally, consider implementing defense-in-depth measures such as validating SNI values at higher application layers and monitoring TLS handshake anomalies. Regularly review TLS configurations and dependencies to ensure they are up to date and follow best practices. Finally, maintain awareness of pyOpenSSL releases and security advisories to promptly apply patches.
Affected Countries
United States, Germany, United Kingdom, France, Japan, South Korea, China, India, Canada, Australia
CVE-2026-27448: CWE-636: Not Failing Securely ('Failing Open') in pyca pyopenssl
Description
CVE-2026-27448 is a low-severity vulnerability in pyOpenSSL versions from 0. 14. 0 up to but not including 26. 0. 0. The issue arises when a user-provided callback to set_tlsext_servername_callback raises an unhandled exception, causing the connection to be accepted instead of rejected. This behavior constitutes a 'failing open' security flaw, potentially allowing bypass of security-sensitive logic implemented in the callback. The vulnerability was fixed in version 26. 0. 0, where unhandled exceptions now result in connection rejection.
AI-Powered Analysis
Technical Analysis
CVE-2026-27448 is a vulnerability in pyOpenSSL, a widely used Python wrapper around the OpenSSL library, affecting versions from 0.14.0 up to but not including 26.0.0. The flaw is related to the handling of unhandled exceptions in user-defined callbacks registered via the set_tlsext_servername_callback API, which is used to process TLS Server Name Indication (SNI) extensions during TLS handshakes. If the callback raises an unhandled exception, instead of failing securely by rejecting the connection, pyOpenSSL would 'fail open' and accept the connection. This behavior can lead to bypassing any security-sensitive logic implemented in the callback, such as hostname validation, access control, or routing decisions based on the SNI value. The vulnerability is classified under CWE-636 (Not Failing Securely). Starting with pyOpenSSL version 26.0.0, this behavior was corrected so that unhandled exceptions cause the connection to be rejected, restoring secure failure behavior. The CVSS v4.0 score is 1.7 (low), reflecting that exploitation requires a specific callback setup and the impact is limited to bypassing the callback logic without broader compromise of confidentiality, integrity, or availability. No public exploits or active exploitation have been reported. This vulnerability primarily affects applications that implement custom SNI callbacks in pyOpenSSL for security purposes.
Potential Impact
The impact of CVE-2026-27448 is relatively limited but can be significant in specific contexts. Organizations using pyOpenSSL with custom SNI callbacks for security-sensitive decisions—such as enforcing hostname-based access controls, routing, or certificate selection—may have those controls bypassed if an unhandled exception occurs in the callback. This could allow unauthorized connections or traffic to be accepted, potentially exposing internal services or sensitive data. However, the vulnerability does not directly allow remote code execution, privilege escalation, or denial of service. The scope is limited to applications that rely on the vulnerable callback mechanism and do not have additional compensating controls. Given the low CVSS score and the requirement for a specific callback setup, the overall risk to most organizations is low. Nonetheless, environments with strict TLS security policies or custom TLS extensions are more exposed. No known exploits in the wild reduce the immediate threat, but the vulnerability should be addressed proactively to maintain secure TLS handling.
Mitigation Recommendations
To mitigate CVE-2026-27448, organizations should upgrade pyOpenSSL to version 26.0.0 or later, where the issue is fixed by rejecting connections on unhandled exceptions in the SNI callback. For environments where immediate upgrade is not feasible, developers should audit and harden their set_tlsext_servername_callback implementations to ensure that exceptions are properly caught and handled within the callback to prevent unhandled exceptions from propagating. Implement comprehensive error handling and logging in the callback code to detect and respond to unexpected failures. Additionally, consider implementing defense-in-depth measures such as validating SNI values at higher application layers and monitoring TLS handshake anomalies. Regularly review TLS configurations and dependencies to ensure they are up to date and follow best practices. Finally, maintain awareness of pyOpenSSL releases and security advisories to promptly apply patches.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-02-19T17:25:31.100Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69b9e71a771bdb1749eb4c67
Added to database: 3/17/2026, 11:43:22 PM
Last enriched: 3/17/2026, 11:58:21 PM
Last updated: 3/18/2026, 4:25:58 AM
Views: 17
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console in Console -> Billing for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.