CVE-2023-0465
📋 TL;DR
This vulnerability allows malicious Certificate Authorities to bypass certificate policy checks by including invalid policies in leaf certificates. When policy checking is enabled (non-default configuration), OpenSSL silently ignores invalid policies and skips all policy verification for that certificate. Only applications that explicitly enable certificate policy verification are affected.
💻 Affected Systems
- OpenSSL
📦 What is this software?
Openssl by Openssl
OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.
Learn more about Openssl →Openssl by Openssl
OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.
Learn more about Openssl →Openssl by Openssl
OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.
Learn more about Openssl →Openssl by Openssl
OpenSSL is a robust, commercial-grade toolkit for the Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. It provides cryptographic functions and is one of the most widely used libraries for implementing secure communications in applications worldwide.
Learn more about Openssl →⚠️ Risk & Real-World Impact
Worst Case
A malicious CA could issue certificates that bypass organizational policy restrictions, potentially allowing unauthorized access to sensitive systems or data.
Likely Case
Limited impact since policy checking is disabled by default; only affects applications with explicit policy verification enabled.
If Mitigated
No impact if policy checking remains disabled (default) or if patched versions are used.
🎯 Exploit Status
Exploitation requires control of a Certificate Authority and target system with policy checking enabled.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: OpenSSL 3.0.9, 1.1.1u
Vendor Advisory: https://www.openssl.org/news/secadv/20230530.txt
Restart Required: Yes
Instructions:
1. Update OpenSSL to version 3.0.9 or 1.1.1u. 2. Restart all services using OpenSSL. 3. Recompile any statically linked applications.
🔧 Temporary Workarounds
Disable policy checking
allEnsure certificate policy verification is not enabled in application configurations
Remove -policy argument from OpenSSL command lines
Remove calls to X509_VERIFY_PARAM_set1_policies() in code
🧯 If You Can't Patch
- Disable certificate policy verification in all applications
- Implement additional certificate validation layers and monitor for anomalous certificates
🔍 How to Verify
Check if Vulnerable:
Check OpenSSL version with 'openssl version' and verify if policy checking is enabled in application configurations
Check Version:
openssl version
Verify Fix Applied:
Confirm OpenSSL version is 3.0.9+ or 1.1.1u+ with 'openssl version'
📡 Detection & Monitoring
Log Indicators:
- Certificate validation failures with policy-related errors
- Unexpected certificate acceptance events
Network Indicators:
- Certificates with unusual policy OIDs from untrusted CAs
SIEM Query:
Search for OpenSSL policy verification errors or certificate validation anomalies
🔗 References
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=10325176f3d3e98c6e2b3bf5ab1e3b334de6947a
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=1dd43e0709fece299b15208f36cc7c76209ba0bb
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=b013765abfa80036dc779dd0e50602c57bb3bf95
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=facfb1ab745646e97a1920977ae4a9965ea61d5c
- https://lists.debian.org/debian-lts-announce/2023/06/msg00011.html
- https://security.gentoo.org/glsa/202402-08
- https://security.netapp.com/advisory/ntap-20230414-0001/
- https://www.debian.org/security/2023/dsa-5417
- https://www.openssl.org/news/secadv/20230328.txt
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=10325176f3d3e98c6e2b3bf5ab1e3b334de6947a
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=1dd43e0709fece299b15208f36cc7c76209ba0bb
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=b013765abfa80036dc779dd0e50602c57bb3bf95
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=facfb1ab745646e97a1920977ae4a9965ea61d5c
- https://lists.debian.org/debian-lts-announce/2023/06/msg00011.html
- https://security.gentoo.org/glsa/202402-08
- https://security.netapp.com/advisory/ntap-20230414-0001/
- https://www.debian.org/security/2023/dsa-5417
- https://www.openssl.org/news/secadv/20230328.txt