[arch-security] [ASA-201503-17] lib32-openssl: multiple issues
Levente Polyak
anthraxx at archlinux.org
Thu Mar 19 16:54:03 UTC 2015
Arch Linux Security Advisory ASA-201503-17
==========================================
Severity: High
Date : 2015-03-19
CVE-ID : CVE-2015-1787 CVE-2015-0207 CVE-2015-0208 CVE-2015-0209
CVE-2015-0285 CVE-2015-0286 CVE-2015-0287 CVE-2015-0288
CVE-2015-0289 CVE-2015-0290 CVE-2015-0291 CVE-2015-0293
Package : lib32-openssl
Type : multiple issues
Remote : Yes
Link : https://wiki.archlinux.org/index.php/CVE
Summary
=======
The package lib32-openssl before version 1.0.2.a-1 is vulnerable to
multiple issues including but not limited to denial of service, unseeded
PRNG and memory corruption.
Resolution
==========
Upgrade to 1.0.2.a-1.
# pacman -Syu "lib32-openssl>=1.0.2.a-1"
The problems have been fixed upstream in version 1.0.2.a.
Workaround
==========
None.
Description
===========
- CVE-2015-1787 (denial of service)
If client auth is used then a server can segfault in the event of a DHE
ciphersuite being selected and a zero length ClientKeyExchange message
being sent by the client. This could be exploited in a DoS attack.
- CVE-2015-0207 (denial of service)
The DTLSv1_listen function is intended to be stateless and processes the
initial ClientHello from many peers. It is common for user code to loop
over the call to DTLSv1_listen until a valid ClientHello is received
with an associated cookie. A defect in the implementation of
DTLSv1_listen means that state is preserved in the SSL object from one
invocation to the next that can lead to a segmentation fault. Errors
processing the initial ClientHello can trigger this scenario. An example
of such an error could be that a DTLS1.0 only client is attempting to
connect to a DTLS1.2 only server.
- CVE-2015-0208 (denial of service)
The signature verification routines will crash with a NULL pointer
dereference if presented with an ASN.1 signature using the RSA PSS
algorithm and invalid parameters. Since these routines are used to
verify certificate signature algorithms this can be used to crash any
certificate verification operation and exploited in a DoS attack. Any
application which performs certificate verification is vulnerable
including OpenSSL clients and servers which enable client authentication.
- CVE-2015-0209 (denial of service)
A malformed EC private key file consumed via the d2i_ECPrivateKey
function could cause a use after free condition. This, in turn, could
cause a double free in several private key parsing functions (such as
d2i_PrivateKey or EVP_PKCS82PKEY) and could lead to a DoS attack or
memory corruption for applications that receive EC private keys from
untrusted sources. This scenario is considered rare.
- CVE-2015-0285 (unseeded PRNG)
Under certain conditions an OpenSSL 1.0.2 client can complete a
handshake with an unseeded PRNG. The conditions are:
- The client is on a platform where the PRNG has not been seeded
automatically, and the user has not seeded manually
- A protocol specific client method version has been used (i.e. not
SSL_client_methodv23)
- A ciphersuite is used that does not require additional random data
from the PRNG beyond the initial ClientHello client random (e.g.
PSK-RC4-SHA).
If the handshake succeeds then the client random that has been used will
have been generated from a PRNG with insufficient entropy and therefore
the output may be predictable.
- CVE-2015-0286 (denial of service)
The function ASN1_TYPE_cmp will crash with an invalid read if an attempt
is made to compare ASN.1 boolean types. Since ASN1_TYPE_cmp is used to
check certificate signature algorithm consistency this can be used to
crash any certificate verification operation and exploited in a DoS
attack. Any application which performs certificate verification is
vulnerable including OpenSSL clients and servers which enable client
authentication.
- CVE-2015-0287 (memory corruption)
Reusing a structure in ASN.1 parsing may allow an attacker to cause
memory corruption via an invalid write. Such reuse is and has bee
strongly discouraged and is believed to be rare.
Applications that parse structures containing CHOICE or ANY DEFINED BY
components may be affected. Certificate parsing (d2i_X509 and related
functions) are however not affected. OpenSSL clients and servers are not
affected.
- CVE-2015-0288 (denial of service)
The function X509_to_X509_REQ will crash with a NULL pointer dereference
if the certificate key is invalid. This function is rarely used in practice.
- CVE-2015-0289 (denial of service)
The PKCS#7 parsing code does not handle missing outer ContentInfo
correctly. An attacker can craft malformed ASN.1-encoded PKCS#7 blobs
with missing content and trigger a NULL pointer dereference on parsing.
Applications that verify PKCS#7 signatures, decrypt PKCS#7 data or
otherwise parse PKCS#7 structures from untrusted sources are affected.
OpenSSL clients and servers are not affected.
- CVE-2015-0290 (denial of service)
OpenSSL 1.0.2 introduced the "multiblock" performance improvement. This
feature only applies on 64 bit x86 architecture platforms that support
AES NI instructions. A defect in the implementation of "multiblock" can
cause OpenSSL's internal write buffer to become incorrectly set to NULL
when using non-blocking IO. Typically, when the user application is
using a socket BIO for writing, this will only result in a failed
connection. However if some other BIO is used then it is likely that a
segmentation fault will be triggered, thus enabling a potential DoS attack.
- CVE-2015-0291 (denial of service)
If a client connects to an OpenSSL 1.0.2 server and renegotiates via
ClientHello with an invalid signature algorithms extension a NULL
pointer dereference will occur. This can be exploited in a DoS attack
against the server.
- CVE-2015-0293 (denial of service)
A malicious client can trigger an OPENSSL_assert (i.e., an abort) in
servers that both support SSLv2 and enable export cipher suites by
sending a specially crafted SSLv2 CLIENT-MASTER-KEY message.
Impact
======
A remote attacker is able to perform denial of service, memory
corruption or possibly take advantage of an unseeded PRNG via various
vectors.
References
==========
https://www.openssl.org/news/secadv_20150319.txt
https://access.redhat.com/security/cve/CVE-2015-1787
https://access.redhat.com/security/cve/CVE-2015-0207
https://access.redhat.com/security/cve/CVE-2015-0208
https://access.redhat.com/security/cve/CVE-2015-0209
https://access.redhat.com/security/cve/CVE-2015-0285
https://access.redhat.com/security/cve/CVE-2015-0286
https://access.redhat.com/security/cve/CVE-2015-0287
https://access.redhat.com/security/cve/CVE-2015-0288
https://access.redhat.com/security/cve/CVE-2015-0289
https://access.redhat.com/security/cve/CVE-2015-0290
https://access.redhat.com/security/cve/CVE-2015-0291
https://access.redhat.com/security/cve/CVE-2015-0293
https://bugs.archlinux.org/task/44227
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-security/attachments/20150319/23708510/attachment.asc>
More information about the arch-security
mailing list