Security update for openssl
|References:||#952871 #958501 #963415 #968046 #968047 #968048 #968050 #968051 #968053 #968265 #968374|
An update that solves 9 vulnerabilities and has two fixes is now available.
This update for openssl fixes various security issues and bugs:
Security issues fixed:
- CVE-2016-0800 aka the "DROWN" attack (bsc#968046): OpenSSL was
vulnerable to a cross-protocol attack that could lead to decryption of
TLS sessions by using a server supporting SSLv2 and EXPORT cipher suites
as a Bleichenbacher RSA padding oracle.
This update changes the openssl library to:
* Disable SSLv2 protocol support by default.
This can be overridden by setting the environment variable
"OPENSSL_ALLOW_SSL2" or by using SSL_CTX_clear_options using the
Note that various services and clients had already disabled SSL
protocol 2 by default previously.
* Disable all weak EXPORT ciphers by default. These can be reenabled if
required by old legacy software using the environment variable
- CVE-2016-0702 aka the "CacheBleed" attack. (bsc#968050) Various changes
in the modular exponentation code were added that make sure that it is
not possible to recover RSA secret keys by analyzing cache-bank
conflicts on the Intel Sandy-Bridge microarchitecture.
Note that this was only exploitable if the malicious code was running
on the same hyper threaded Intel Sandy Bridge processor as the victim
thread performing decryptions.
- CVE-2016-0705 (bnc#968047): A double free() bug in the DSA ASN1 parser
code was fixed that could be abused to facilitate a denial-of-service
- CVE-2016-0797 (bnc#968048): The BN_hex2bn() and BN_dec2bn() functions
had a bug that could result in an attempt to de-reference a NULL pointer
leading to crashes. This could have security consequences if these
functions were ever called by user applications with large untrusted
hex/decimal data. Also, internal usage of these functions in OpenSSL
uses data from config files
or application command line arguments. If user developed applications
generated config file data based on untrusted data, then this could
have had security consequences as well.
- CVE-2016-0798 (bnc#968265) The SRP user database lookup method
SRP_VBASE_get_by_user() had a memory leak that attackers could abuse to
facility DoS attacks. To mitigate the issue, the seed handling in
SRP_VBASE_get_by_user() was disabled even if the user has configured a
seed. Applications are advised to migrate to SRP_VBASE_get1_by_user().
- CVE-2016-0799 (bnc#968374) On many 64 bit systems, the internal fmtstr()
and doapr_outch() functions could miscalculate the length of a string
and attempt to access out-of-bounds memory locations. These problems
could have enabled attacks where large amounts of untrusted data is
passed to the BIO_*printf functions. If applications use these functions
in this way then they could have been vulnerable. OpenSSL itself uses
these functions when printing out human-readable dumps of ASN.1 data.
Therefore applications that print this data could have been vulnerable
if the data is from untrusted sources. OpenSSL command line applications
could also have been vulnerable when they print out ASN.1 data, or if
untrusted data is passed as command line arguments. Libssl is not
considered directly vulnerable.
- CVE-2015-3197 (bsc#963415): The SSLv2 protocol did not block disabled
Note that the March 1st 2016 release also references following CVEs that
were fixed by us with CVE-2015-0293 in 2015:
- CVE-2016-0703 (bsc#968051): This issue only affected versions of OpenSSL
prior to March 19th 2015 at which time the code was refactored to
address vulnerability CVE-2015-0293. It would have made the above
"DROWN" attack much easier.
- CVE-2016-0704 (bsc#968053): "Bleichenbacher oracle in SSLv2" This issue
only affected versions of OpenSSL prior to March 19th 2015 at which time
the code was refactored to address vulnerability CVE-2015-0293. It would
have made the above "DROWN" attack much easier.
- Avoid running OPENSSL_config twice. This avoids breaking engine loading.
- Ensure that OpenSSL doesn't fall back to the default digest algorithm
(SHA1) in case a non-FIPS algorithm was negotiated while running in FIPS
mode. Instead, OpenSSL will refuse the digest. (bnc#958501)
To install this SUSE Security Update use YaST online_update.
Alternatively you can run the command listed for your product:
- SUSE Linux Enterprise Software Development Kit 12:
zypper in -t patch SUSE-SLE-SDK-12-2016-352=1
- SUSE Linux Enterprise Server 12:
zypper in -t patch SUSE-SLE-SERVER-12-2016-352=1
- SUSE Linux Enterprise Desktop 12:
zypper in -t patch SUSE-SLE-DESKTOP-12-2016-352=1
To bring your system up-to-date, use "zypper patch".
- SUSE Linux Enterprise Software Development Kit 12 (ppc64le s390x x86_64):
- SUSE Linux Enterprise Server 12 (ppc64le s390x x86_64):
- SUSE Linux Enterprise Server 12 (s390x x86_64):
- SUSE Linux Enterprise Server 12 (noarch):
- SUSE Linux Enterprise Desktop 12 (x86_64):