wiki:CVE-2024-13454

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.

Last modified 2 weeks ago Last modified on 02/02/25 21:45:59