CVE-2024-13454
📋 TL;DR
This vulnerability in Easy-RSA allows a local attacker to more easily brute-force the private CA key when it's created using OpenSSL 3. The weak encryption algorithm reduces the computational effort needed to crack the key, potentially compromising the entire certificate authority. Organizations using Easy-RSA for certificate management with OpenSSL 3 are affected.
💻 Affected Systems
- Easy-RSA
📦 What is this software?
Easy Rsa by Openvpn
⚠️ Risk & Real-World Impact
Worst Case
Complete compromise of the certificate authority, allowing an attacker to issue fraudulent certificates, impersonate services, and conduct man-in-the-middle attacks on all systems trusting the CA.
Likely Case
Local attacker with access to the CA key file could decrypt it more easily than expected, potentially gaining unauthorized certificate signing capabilities.
If Mitigated
With proper key storage controls and limited local access, the risk is reduced to authorized users who might attempt to extract the key for unauthorized purposes.
🎯 Exploit Status
Exploitation requires local access to the CA key file and significant computational resources for brute-forcing, though less than with proper encryption.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Easy-RSA 3.1.8
Vendor Advisory: https://community.openvpn.net/openvpn/wiki/CVE-2024-13454
Restart Required: No
Instructions:
1. Upgrade Easy-RSA to version 3.1.8 or later. 2. Regenerate any CA keys that were created with vulnerable versions using the updated software. 3. Distribute new certificates to all systems that trust the affected CA.
🔧 Temporary Workarounds
Regenerate CA keys with OpenSSL directly
allCreate new CA keys using OpenSSL command line with strong encryption parameters instead of through Easy-RSA
openssl genrsa -aes256 -out ca.key 4096
Use OpenSSL 1.1.1 for key generation
linuxTemporarily use OpenSSL 1.1.1 instead of OpenSSL 3 when creating CA keys with Easy-RSA
export OPENSSL_BIN=/path/to/openssl-1.1.1
🧯 If You Can't Patch
- Restrict local access to CA key files using strict file permissions (chmod 600) and access controls.
- Monitor access to CA key files and implement alerting for unauthorized access attempts.
🔍 How to Verify
Check if Vulnerable:
Check Easy-RSA version with 'easyrsa --version' and verify if CA keys were created with versions 3.0.5-3.1.7 using OpenSSL 3.
Check Version:
easyrsa --version
Verify Fix Applied:
Verify Easy-RSA version is 3.1.8 or later and regenerate CA keys with the updated version.
📡 Detection & Monitoring
Log Indicators:
- Failed authentication attempts on systems using certificates from the affected CA
- Unexpected certificate validation failures
Network Indicators:
- Unusual certificate validation patterns in TLS handshakes
- Certificate revocation list check failures
SIEM Query:
source="*" ("certificate validation failed" OR "CRL check failed") AND ("CA=*" OR "issuer=*")