openssl/crypto/x509
Matt Caswell 8130d654d1 Fix Null pointer deref in X509_issuer_and_serial_hash()
The OpenSSL public API function X509_issuer_and_serial_hash() attempts
to create a unique hash value based on the issuer and serial number data
contained within an X509 certificate. However it fails to correctly
handle any errors that may occur while parsing the issuer field (which
might occur if the issuer field is maliciously constructed). This may
subsequently result in a NULL pointer deref and a crash leading to a
potential denial of service attack.

The function X509_issuer_and_serial_hash() is never directly called by
OpenSSL itself so applications are only vulnerable if they use this
function directly and they use it on certificates that may have been
obtained from untrusted sources.

CVE-2021-23841

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
2021-02-16 11:32:32 +00:00
..
build.info Deprecate X509_certificate_type 2021-02-02 11:47:49 +01:00
by_dir.c Update copyright year 2021-01-28 13:54:57 +01:00
by_file.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
by_store.c Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
ext_dat.h Issuer Sign Tool extention support 2020-03-25 15:33:53 +03:00
pcy_cache.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
pcy_data.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
pcy_lib.c Fix safestack issues in x509v3.h 2020-09-13 11:09:45 +01:00
pcy_local.h Reorganize local header files 2019-09-28 20:26:35 +02:00
pcy_map.c Fix safestack issues in asn1.h 2020-09-13 11:10:40 +01:00
pcy_node.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
pcy_tree.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
standard_exts.h Issuer Sign Tool extention support 2020-03-25 15:33:53 +03:00
t_crl.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
t_req.c Update copyright year 2021-01-28 13:54:57 +01:00
t_x509.c Update copyright year 2021-01-28 13:54:57 +01:00
v3_addr.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
v3_admis.c Fix safestack issues in asn1.h 2020-09-13 11:10:40 +01:00
v3_admis.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
v3_akeya.c Join the x509 and x509v3 directories 2019-05-29 09:32:50 +02:00
v3_akid.c Update copyright year 2021-01-28 13:54:57 +01:00
v3_asid.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_bcons.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_bitst.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
v3_conf.c Update copyright year 2021-01-28 13:54:57 +01:00
v3_cpols.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
v3_crld.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_enum.c Join the x509 and x509v3 directories 2019-05-29 09:32:50 +02:00
v3_extku.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
v3_genn.c Correctly compare EdiPartyName in GENERAL_NAME_cmp() 2020-12-08 10:16:50 +00:00
v3_ia5.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_info.c Restore v2i_AUTHORITY_INFO_ACCESS() behavior 2020-12-21 14:38:37 +01:00
v3_int.c Join the x509 and x509v3 directories 2019-05-29 09:32:50 +02:00
v3_ist.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_lib.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_ncons.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_pci.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_pcia.c Join the x509 and x509v3 directories 2019-05-29 09:32:50 +02:00
v3_pcons.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
v3_pku.c Join the x509 and x509v3 directories 2019-05-29 09:32:50 +02:00
v3_pmaps.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
v3_prn.c Fix safestack issues in conf.h 2020-09-13 11:11:20 +01:00
v3_purp.c check_sig_alg_match(): weaken sig nid comparison to allow RSA{,PSS} key verify RSA-PSS 2021-01-28 15:05:04 +01:00
v3_san.c Update copyright year 2021-01-28 13:54:57 +01:00
v3_skid.c Update copyright year 2021-01-28 13:54:57 +01:00
v3_sxnet.c Don't Overflow when printing Thawte Strong Extranet Version 2020-12-02 10:28:45 +00:00
v3_tlsf.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3_utf8.c Update copyright year 2021-01-28 13:54:57 +01:00
v3_utl.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
v3err.c ERR: Rebuild all generated error headers and source files 2020-11-24 15:22:33 +01:00
x509_att.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
x509_cmp.c Fix Null pointer deref in X509_issuer_and_serial_hash() 2021-02-16 11:32:32 +00:00
x509_d2.c Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
x509_def.c Following the license change, modify the boilerplates in crypto/x509/ 2018-12-06 15:30:09 +01:00
x509_err.c ERR: Rebuild all generated error headers and source files 2020-11-24 15:22:33 +01:00
x509_ext.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
x509_local.h Rename OPENSSL_CTX prefix to OSSL_LIB_CTX 2020-10-15 11:59:53 +01:00
x509_lu.c X509_STORE_CTX_get1_issuer(): Make preference on expired certs consistent with find_issuer() 2021-02-11 20:25:27 +01:00
x509_meth.c Update copyright year 2020-11-26 14:18:57 +00:00
x509_obj.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x509_r2x.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x509_req.c Update copyright year 2021-01-28 13:54:57 +01:00
x509_set.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x509_trs.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x509_txt.c Disallow certs with explicit curve in verification chain 2020-09-17 17:15:15 +02:00
x509_v3.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x509_vfy.c x509_vfy: remove redundant stack allocation 2021-02-15 14:08:28 +10:00
x509_vpm.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x509cset.c Fix safestack issues in x509.h 2020-09-13 11:09:45 +01:00
x509name.c CRYPTO: refactor ERR_raise()+ERR_add_error_data() to ERR_raise_data() 2020-11-13 09:35:31 +01:00
x509rset.c Update copyright year 2020-04-23 13:55:52 +01:00
x509spki.c Update copyright year 2020-11-26 14:18:57 +00:00
x509type.c Following the license change, modify the boilerplates in crypto/x509/ 2018-12-06 15:30:09 +01:00
x_all.c Update copyright year 2021-01-28 13:54:57 +01:00
x_attrib.c Fix NULL pointer access caused by X509_ATTRIBUTE_create() 2020-12-21 15:25:59 +01:00
x_crl.c Update copyright year 2021-01-28 13:54:57 +01:00
x_exten.c Reorganize local header files 2019-09-28 20:26:35 +02:00
x_name.c Convert all {NAME}err() in crypto/ to their corresponding ERR_raise() call 2020-11-13 09:35:02 +01:00
x_pubkey.c Update copyright year 2021-01-28 13:54:57 +01:00
x_req.c Fix memory leak in req_cb() of x_req.c - handle distinguishing_id also with NO_SM2 2020-10-01 14:13:18 +02:00
x_x509.c Update copyright year 2021-01-28 13:54:57 +01:00
x_x509a.c Fix safestack issues in asn1.h 2020-09-13 11:10:40 +01:00