openssl/crypto/x509
Matt Caswell 2aacec8f4a Fix alternate chains certificate forgery issue
During certificate verfification, OpenSSL will attempt to find an
alternative certificate chain if the first attempt to build such a chain
fails. An error in the implementation of this logic can mean that an
attacker could cause certain checks on untrusted certificates to be
bypassed, such as the CA flag, enabling them to use a valid leaf
certificate to act as a CA and "issue" an invalid certificate.

This occurs where at least one cert is added to the first chain from the
trust store, but that chain still ends up being untrusted. In that case
ctx->last_untrusted is decremented in error.

Patch provided by the BoringSSL project.

CVE-2015-1793

Reviewed-by: Stephen Henson <steve@openssl.org>
2015-07-07 21:57:11 +01:00
..
by_dir.c Use enum for X509_LOOKUP_TYPE 2015-05-28 12:54:27 -04:00
by_file.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
Makefile Fix the update target and remove duplicate file updates 2015-05-22 18:44:33 +02:00
x509_att.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_cmp.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_d2.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_def.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_err.c Run util/openssl-format-source -v -c . 2015-01-22 09:20:09 +00:00
x509_ext.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_lcl.h make X509_VERIFY_PARAM opaque 2015-05-02 14:15:00 +01:00
x509_lu.c Use enum for X509_LOOKUP_TYPE 2015-05-28 12:54:27 -04:00
x509_obj.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_r2x.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_req.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_set.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_trs.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_txt.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_v3.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509_vfy.c Fix alternate chains certificate forgery issue 2015-07-07 21:57:11 +01:00
x509_vpm.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509cset.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509name.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509rset.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509spki.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x509type.c Correctly check for export size limit 2015-05-20 22:18:44 +02:00
x_all.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x_attrib.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00
x_exten.c make X509_EXTENSION opaque 2015-03-23 18:27:04 +00:00
x_name.c Identify and move common internal libcrypto header files 2015-05-14 17:21:40 +02:00