CVE-2023-4807
📋 TL;DR
A bug in OpenSSL's POLY1305 MAC implementation on Windows 64-bit systems with AVX512-IFMA capable processors can corrupt application state by zeroing XMM registers. This affects servers using OpenSSL with CHACHA20-POLY1305 in TLS 1.2/1.3, potentially allowing attackers to cause crashes or incorrect calculations. The vulnerability is considered low severity due to limited practical exploitation.
💻 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 →⚠️ Risk & Real-World Impact
Worst Case
Complete control of the application process through state corruption, though unlikely due to registers being zeroed rather than arbitrary values.
Likely Case
Application crash leading to denial of service or incorrect calculation results.
If Mitigated
No impact if AVX512-IFMA instructions are disabled or systems don't meet specific hardware/OS requirements.
🎯 Exploit Status
Exploitation requires specific hardware/OS combination and attacker ability to influence cipher selection in TLS. No known active exploitation.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: OpenSSL 3.0.11, 3.1.3
Vendor Advisory: https://www.openssl.org/news/secadv/20230908.txt
Restart Required: Yes
Instructions:
1. Update OpenSSL to version 3.0.11 or 3.1.3. 2. Restart affected applications/services using OpenSSL. 3. Verify the update with version check.
🔧 Temporary Workarounds
Disable AVX512-IFMA Instructions
windowsPrevents use of vulnerable code path by disabling AVX512-IFMA instruction support at runtime
set OPENSSL_ia32cap=:~0x200000
🧯 If You Can't Patch
- Disable CHACHA20-POLY1305 cipher suites in TLS configurations
- Apply the OPENSSL_ia32cap environment variable workaround
🔍 How to Verify
Check if Vulnerable:
Check OpenSSL version and Windows OS. Vulnerable if version 3.0.0-3.0.10 or 3.1.0-3.1.2 on Windows 64-bit with AVX512-IFMA capable CPU.
Check Version:
openssl version
Verify Fix Applied:
Verify OpenSSL version is 3.0.11+ or 3.1.3+ and test POLY1305 functionality.
📡 Detection & Monitoring
Log Indicators:
- Application crashes or abnormal termination when using CHACHA20-POLY1305
- Unexpected calculation errors in applications using OpenSSL
Network Indicators:
- TLS connections using CHACHA20-POLY1305 cipher suites
SIEM Query:
Event logs showing application crashes with OpenSSL processes on Windows systems
🔗 References
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=4bfac4471f53c4f74c8d81020beb938f92d84ca5
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=6754de4a121ec7f261b16723180df6592cbb4508
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=a632d534c73eeb3e3db8c7540d811194ef7c79ff
- https://www.openssl.org/news/secadv/20230908.txt
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=4bfac4471f53c4f74c8d81020beb938f92d84ca5
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=6754de4a121ec7f261b16723180df6592cbb4508
- https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=a632d534c73eeb3e3db8c7540d811194ef7c79ff
- https://security.netapp.com/advisory/ntap-20230921-0001/
- https://www.openssl.org/news/secadv/20230908.txt