Vulnerabilities in OpenSSL
[Posted October 1, 2003 by ris]
The National Infrastructure Security Co-ordination Centre (
NISCC) is an organization within the UK
Government, set up to defend against electronic attack. As part of that
mandate, the NISCC recently prepared a test suite to check the operation of
SSL/TLS software when presented with a wide range of malformed client
certificates. Dr Stephen Henson of the OpenSSL core team identified and
prepared fixes for a number of vulnerabilities in the OpenSSL ASN1 code
when running the test suite. Since these vulnerabilities were found during
code review, there are no known exploits, and there won't be any as long as
everyone updates their systems in a timely fashion. Many distributions
have already provided updates for these problems, shown in the new
vulnerability report listed below.
All versions of OpenSSL up to and including 0.9.6j and 0.9.7b and all
versions of SSLeay are affected, as well as any application that makes use
of OpenSSL's ASN1 library to parse untrusted data. This includes all SSL or
TLS applications, those using S/MIME (PKCS#7) or certificate generation
routines.
From the advisory:
- Certain ASN.1 encodings that are rejected as invalid by the parser
can trigger a bug in the deallocation of the corresponding data
structure, corrupting the stack. This can be used as a denial of service
attack. It is currently unknown whether this can be exploited to run
malicious code. This issue does not affect OpenSSL 0.9.6. The Common
Vulnerabilities and Exposures project has assigned the name
CAN-2003-0545 for this issue.
- Unusual ASN.1 tag values can cause an out of bounds read under
certain circumstances, resulting in a denial of service vulnerability.
The Common Vulnerabilities and Exposures project has assigned the names
CAN-2003-0543 and
CAN-2003-0544 for this issue.
- A malformed public key in a certificate will crash the verify code
if it is set to ignore public key decoding errors. Public key decode
errors are not normally ignored, except for debugging purposes, so this
is unlikely to affect production code. Exploitation of an affected
application would result in a denial of service vulnerability.
- Due to an error in the SSL/TLS protocol handling, a server will
parse a client certificate when one is not specifically requested. This
by itself is not strictly speaking a vulnerability but it does mean that
*all* SSL/TLS servers that use OpenSSL can be attacked using
vulnerabilities 1, 2 and 3 even if they don't enable client
authentication.
All OpenSSL users should upgrade to OpenSSL 0.9.7c or 0.9.6k and recompile
any OpenSSL applications statically linked to OpenSSL libraries.
(
Log in to post comments)