CVE-2024-13454 - Easy-RSA with OpenSSL 3 may create a CA private key using 3DES
https://www.cve.org/CVERecord?id=CVE-2024-13454
Using Easy-RSA after version 3.0.5 and before 3.2.0 on systems using
OpenSSL 3 will incorrectly encrypt password protected CA private keys
using cipher:des-ede3-cbc when using the easyrsa build-ca
command.
The algorithm expected to be used is cipher:aes-256-cbc.
How to fix the private CA key:
- Use the
easyrsa set-pass ca
command. This will re-encrypt the private CA key using the proper cipher algorithm. This will work on all Easy-RSA versions.
Additional recommendation:
- Upgrade to Easy-RSA version 3.2.0 or newer.
Command set-pass
was introduced in Easy-RSA-3.1.2 (https://github.com/OpenVPN/easy-rsa/pull/756).
Using OpenSSL v3 with each version of Easy-RSA command build-ca
, then using Easy-RSA command set-pass ca
to re-encrypt the CA key with a new password:
Note: Easy-RSA support for OpenSSL v3 was first introduced in Easy-RSA v3.1.0
(https://github.com/OpenVPN/easy-rsa/pull/492).
EasyRSA-3.0.5: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.0.6: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.0.7: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.0.8: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.0.9: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.1.0: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.1.1: build-ca: des-ede3-cbc - set-rsa-pass: aes-256-cbc EasyRSA-3.1.2: build-ca: des-ede3-cbc - set-pass: aes-256-cbc EasyRSA-3.1.3: build-ca: des-ede3-cbc - set-pass: aes-256-cbc EasyRSA-3.1.4: build-ca: des-ede3-cbc - set-pass: aes-256-cbc EasyRSA-3.1.5: build-ca: des-ede3-cbc - set-pass: aes-256-cbc EasyRSA-3.1.6: build-ca: des-ede3-cbc - set-pass: aes-256-cbc EasyRSA-3.1.7: build-ca: des-ede3-cbc - set-pass: aes-256-cbc EasyRSA-3.2.0: build-ca: aes-256-cbc - set-pass: aes-256-cbc EasyRSA-3.2.1: build-ca: aes-256-cbc - set-pass: aes-256-cbc EasyRSA-3.2.2: build-ca: aes-256-cbc - set-pass: aes-256-cbc
OpenSSL version 1.1.0l
and 1.1.1w
has been tested and no issues were found. OpenSSL 1.x is not expected to have this issue.
However the set-rsa-pass
and set-ec-pass
were found to change the CA key format from PKCS12 to PKC8 for Easy-RSA versions 3.0.9
through 3.1.7
. In all cases, the cipher used was aes-256-cbc
.