
=====================================================================

                                CERT-Renater

                     Note d'Information No. 2022/VULN376

_____________________________________________________________________

DATE                : 12/10/2022

HARDWARE PLATFORM(S): /

OPERATING SYSTEM(S): Systems running OpenSSL versions 3.0 prior to
                                         3.0.6.

=====================================================================
https://www.openssl.org/news/secadv/20221011.txt
_____________________________________________________________________


OpenSSL Security Advisory [11 October 2022]
===========================================

Using a Custom Cipher with NID_undef may lead to NULL encryption
(CVE-2022-3358)
=====================================================================

Severity: Low

OpenSSL supports creating a custom cipher via the legacy
EVP_CIPHER_meth_new() function and associated function calls. This
function was deprecated in OpenSSL 3.0 and application authors are
instead encouraged to use the new provider mechanism in order to
implement custom ciphers.

OpenSSL versions 3.0.0 to 3.0.5 incorrectly handle legacy custom
ciphers passed to the EVP_EncryptInit_ex2(), EVP_DecryptInit_ex2()
and EVP_CipherInit_ex2() functions (as well as other similarly
named encryption and decryption initialisation functions). Instead
of using the custom cipher directly it incorrectly tries to fetch
an equivalent cipher from the available providers.
An equivalent cipher is found based on the NID passed to
EVP_CIPHER_meth_new().
This NID is supposed to represent the unique NID for a given cipher.
However it is possible for an application to incorrectly pass
NID_undef as this value in the call to EVP_CIPHER_meth_new(). When
NID_undef is used in this way the OpenSSL encryption/decryption
initialisation function will match the NULL cipher as being equivalent
and will fetch this from the available providers. This will succeed
if the default provider has been loaded (or if a third party provider
has been loaded that offers this cipher). Using the NULL cipher means
that the plaintext is emitted as the ciphertext.

Applications are only affected by this issue if they call
EVP_CIPHER_meth_new() using NID_undef and subsequently use it in a call
to an encryption/decryption initialisation function. Applications that
only use SSL/TLS are not impacted by this issue.

OpenSSL 3.0 users should upgrade to OpenSSL 3.0.6.

OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.

This issue was reported to OpenSSL on 9th August 2022 by Chris Rapier
of the Pittsburgh Supercomputing Center. The fix was developed by
Matt Caswell.


References
==========

URL for this Security Advisory:
https://www.openssl.org/news/secadv/20221011.txt

Note: the online version of the advisory may be updated with
additional details over time.

For details of OpenSSL severity classifications please see:
https://www.openssl.org/policies/secpolicy.html


=========================================================
+ CERT-RENATER        |    tel : 01-53-94-20-44         +
+ 23/25 Rue Daviel    |    fax : 01-53-94-20-41         +
+ 75013 Paris         |   email:cert@support.renater.fr +
=========================================================


