mbedtls/library
Nick Child b6d5693be2 pk.c: Ensure hash_len equals hash in pk_hashlen_helper
The function `pk_hashlen_helper` exists to ensure a valid hash_len is
used in pk_verify and pk_sign functions. This function has been
used to adjust to the corrsponding hash_len if the user passes in 0
for the hash_len argument based on the md algorithm given. If the user
does not pass in 0 as the hash_len, then it is not adjusted. This is
problematic if the user gives a hash_len and hash buffer that is less than the
associated length of the md algorithm. This error would go unchecked
and eventually lead to buffer overread when given to specific pk_sign/verify
functions, since they both ignore the hash_len argument if md_alg is not MBEDTLS_MD_NONE.

This commit, adds a conditional to `pk_hashlen_helper` so that an
error is thrown if the user specifies a hash_length (not 0) and it is
not equal to the expected for the associated message digest algorithm.
This aligns better with the api documentation where it states "If
hash_len is 0, then the length associated with md_alg is used instead,
or an error returned if it is invalid"

Signed-off-by: Nick Child <nick.child@ibm.com>
Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
2021-06-29 09:31:06 -04:00
..
.gitignore
aes.c
aesni.c
arc4.c
aria.c ARIA: add missing context init/free 2021-05-25 18:45:04 +02:00
asn1parse.c
asn1write.c
base64.c Code style fixups 2021-03-04 14:34:50 +00:00
bignum.c Correct some statements about the ordering of A and B 2021-06-22 12:39:17 +02:00
blowfish.c
camellia.c CAMELLIA: add missing context init/free 2021-05-25 18:45:04 +02:00
ccm.c
certs.c
chacha20.c
chachapoly.c
check_crypto_config.h psa: config: Add CAMELLIA to the list of possible CMAC ciphers 2021-03-25 14:25:46 +01:00
cipher_wrap.c
cipher.c
cmac.c Allow skipping 3DES in CMAC self-test when ALT implemented 2021-04-30 10:09:52 +02:00
CMakeLists.txt Add boilerplate for dispatching MAC operations 2021-05-11 18:56:01 +02:00
common.h Move MBEDTLS_ERR_ADD macro and functions to error.* 2021-04-13 15:21:43 +01:00
ctr_drbg.c Document mutex invariant for CTR_DRBG 2021-02-22 19:24:03 +01:00
debug.c Add missing parentheses 2021-06-07 21:42:15 +02:00
des.c
dhm.c DHM: add notes about leading zeros 2021-06-02 21:39:31 +02:00
ecdh.c
ecdsa.c avoid "maybe-uninitialized" and "free-nonheap-object" errors/warnings with gcc11 2021-05-12 09:37:00 -04:00
ecjpake.c ecjpake_zkp_read() now returns ...BAD_INPUT_DATA when r len == 0 and test follows that 2021-03-17 11:36:31 +01:00
ecp_curves.c Fix low-probability arithmetic error in ECC 2021-04-04 01:10:41 +02:00
ecp_invasive.h Move mbedtls_mpi_random to the bignum module 2021-06-02 21:31:24 +02:00
ecp.c ECP: use mbedtls_mpi_random for blinding 2021-06-02 21:31:24 +02:00
entropy_poll.c Merge pull request #4110 from gilles-peskine-arm/psa-external-random-in-mbedtls 2021-02-22 14:47:29 +00:00
entropy.c Merge pull request #3616 from militant-daos/bug_3175 2021-03-30 17:33:08 +02:00
error.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
gcm.c Allow GCM selftest to skip non-12-byte IVs for ALT implementations 2021-02-10 15:34:52 +01:00
havege.c
hkdf.c
hmac_drbg.c Document mutex invariant for HMAC_DRBG 2021-02-22 19:24:03 +01:00
Makefile Add boilerplate for dispatching MAC operations 2021-05-11 18:56:01 +02:00
md2.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
md4.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
md5.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
md.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
memory_buffer_alloc.c
mps_common.h Capitalise MPS trace macros 2021-04-07 12:45:35 +01:00
mps_error.h Fix Doxygen headers for MPS files 2021-03-29 14:20:18 +01:00
mps_reader.c Capitalise MPS trace macros 2021-04-07 12:45:35 +01:00
mps_reader.h Fix Doxygen headers for MPS files 2021-03-29 14:20:18 +01:00
mps_trace.c Capitalise MPS trace macros 2021-04-07 12:45:35 +01:00
mps_trace.h Capitalise MPS trace macros 2021-04-07 12:45:35 +01:00
net_sockets.c Fix fd range for select on Windows 2021-06-20 23:17:39 +02:00
nist_kw.c Fix null pointer arithmetic in error case 2021-06-01 11:57:18 +02:00
oid.c
padlock.c
pem.c Apply MBEDTLS_ERROR_ADD to library 2021-04-15 11:19:47 +01:00
pk_wrap.c
pk.c pk.c: Ensure hash_len equals hash in pk_hashlen_helper 2021-06-29 09:31:06 -04:00
pkcs5.c Apply MBEDTLS_ERROR_ADD to library 2021-04-15 11:19:47 +01:00
pkcs11.c
pkcs12.c Apply MBEDTLS_ERROR_ADD to library 2021-04-15 11:19:47 +01:00
pkparse.c Remove dead code from pk_parse_key_pkcs8_unencrypted_der 2021-04-28 14:12:07 +01:00
pkwrite.c
platform_util.c
platform.c
poly1305.c
psa_crypto_aead.c Update all uses of old AEAD output size macros 2021-04-15 17:32:06 +02:00
psa_crypto_aead.h psa: aead: Move AEAD driver entry points to psa_crypto_aead.c 2021-04-07 16:03:31 +02:00
psa_crypto_cipher.c psa: cipher: Remove cipher_generate_iv driver entry point 2021-03-26 15:58:25 +01:00
psa_crypto_cipher.h psa: cipher: Remove cipher_generate_iv driver entry point 2021-03-26 15:58:25 +01:00
psa_crypto_client.c Move the inclusion of crypto_spe.h to psa/crypto_platform.h 2021-06-23 14:45:17 +02:00
psa_crypto_core.h Merge pull request #4357 from gabor-mezei-arm/3267_Implement_psa_sign_message_and_verify 2021-05-17 10:14:46 +02:00
psa_crypto_driver_wrappers.c Fix missing compilation guard around psa_crypto_driver_wrappers.c 2021-05-19 21:03:46 +02:00
psa_crypto_driver_wrappers.h Merge pull request #4357 from gabor-mezei-arm/3267_Implement_psa_sign_message_and_verify 2021-05-17 10:14:46 +02:00
psa_crypto_ecp.c Move mbedtls_md_info_from_psa into the mbedtls hash driver 2021-03-15 12:14:40 +01:00
psa_crypto_ecp.h psa: Rework ECDSA sign/verify support in the transparent test driver 2021-02-18 15:45:12 +01:00
psa_crypto_hash.c psa: hash: Fix is_hash_accelerated signature 2021-04-01 10:50:03 +02:00
psa_crypto_hash.h psa: include: Merge crypto_builtin_hash.h and crypto_builtin_cipher.h 2021-04-01 16:54:30 +02:00
psa_crypto_invasive.h Rework MAC algorithm / key type validation 2021-03-03 19:58:02 +01:00
psa_crypto_its.h
psa_crypto_mac.c psa: mac: Add MAC compute builtin implementation 2021-06-22 13:43:13 +02:00
psa_crypto_mac.h Move is_sign and mac_size checking back to PSA core scope 2021-05-11 18:56:01 +02:00
psa_crypto_random_impl.h Work around MSVC bug with duplicate static declarations 2021-02-16 18:55:05 +01:00
psa_crypto_rsa.c Improve psa_rsa_decode_md_type() 2021-06-22 12:57:05 +02:00
psa_crypto_rsa.h psa: Add RSA sign/verify hash support to the transparent test driver 2021-02-18 15:45:06 +01:00
psa_crypto_se.c
psa_crypto_se.h
psa_crypto_slot_management.c Merge pull request #4715 from gilles-peskine-arm/psa_crypto_spm-from_platform_h-2.x 2021-06-25 09:00:58 +02:00
psa_crypto_slot_management.h psa: Fix error code when creating/registering a key with invalid id 2021-04-01 14:05:41 +02:00
psa_crypto_storage.c Move the inclusion of crypto_spe.h to psa/crypto_platform.h 2021-06-23 14:45:17 +02:00
psa_crypto_storage.h Rename PSA_KEY_SLOT_COUNT to MBEDTLS_PSA_KEY_SLOT_COUNT 2021-02-15 14:26:44 +01:00
psa_crypto.c Merge pull request #4717 from daverodgman/psa_cipher_and_mac_abort_on_error_2.x 2021-06-25 15:39:43 +01:00
psa_its_file.c Correct fix for potential truncation 2021-03-10 17:00:32 +00:00
ripemd160.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
rsa_internal.c
rsa.c Fix misc issues with unused parameters and check-names.sh 2021-04-13 15:26:59 +01:00
sha1.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
sha256.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
sha512.c Revert "Remove deprecated things from hashing modules" 2021-04-15 12:28:15 +02:00
ssl_cache.c Don't check ciphersuite and compression in SSL session cache lookup 2021-05-19 05:09:56 +01:00
ssl_ciphersuites.c Fix dependencies on SHA384 cipher suites 2021-05-19 16:58:08 +02:00
ssl_cli.c Enforce dhm_min_bitlen exactly, not just the byte size 2021-04-01 14:20:03 +02:00
ssl_cookie.c Improve documentation for error code checking 2021-04-22 15:28:56 +01:00
ssl_invasive.h
ssl_msg.c Fix misuse of MD API in SSL constant-flow HMAC 2021-05-19 10:40:02 +02:00
ssl_srv.c Don't check ciphersuite and compression in SSL session cache lookup 2021-05-19 05:09:56 +01:00
ssl_ticket.c
ssl_tls13_keys.c
ssl_tls13_keys.h
ssl_tls.c Merge pull request #4493 from netfoundry/gcc11.fixes_2.x 2021-05-20 15:54:20 +02:00
threading.c Explain the usage of is_valid in pthread mutexes 2021-02-22 19:24:03 +01:00
timing.c
version_features.c Implement support for MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS 2021-04-15 15:04:26 +02:00
version.c
x509_create.c
x509_crl.c Apply MBEDTLS_ERROR_ADD to library 2021-04-15 11:19:47 +01:00
x509_crt.c Document more precisely what goes into the default profile 2021-06-07 21:24:26 +02:00
x509_csr.c Apply MBEDTLS_ERROR_ADD to library 2021-04-15 11:19:47 +01:00
x509.c Apply MBEDTLS_ERROR_ADD to library 2021-04-15 11:19:47 +01:00
x509write_crt.c avoid "maybe-uninitialized" and "free-nonheap-object" errors/warnings with gcc11 2021-05-12 09:37:00 -04:00
x509write_csr.c avoid "maybe-uninitialized" and "free-nonheap-object" errors/warnings with gcc11 2021-05-12 09:37:00 -04:00
xtea.c