From 704f4d7d10e37bbcc2f002075ab2a331f88077c0 Mon Sep 17 00:00:00 2001 From: "jaekuk, lee" Date: Mon, 12 Jun 2017 13:30:54 +0900 Subject: [PATCH] Check that we have enough padding characters Change-Id: I63f9b88dab5cfeb85841578851a528407acdf1cb Signed-off-by: jaekuk, lee --- deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c | 2 ++ deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c | 2 ++ 2 files changed, 4 insertions(+) mode change 100644 => 100755 deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c mode change 100644 => 100755 deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c diff --git a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c old mode 100644 new mode 100755 index 8330964..ccf3043 --- a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c +++ b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c @@ -578,6 +578,8 @@ static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, maxpad |= (255 - maxpad) >> (sizeof(maxpad) * 8 - 8); maxpad &= 255; + ret &= constant_time_ge(maxpad, pad); + inp_len = len - (SHA_DIGEST_LENGTH + pad + 1); mask = (0 - ((inp_len - len) >> (sizeof(inp_len) * 8 - 1))); inp_len &= mask; diff --git a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c old mode 100644 new mode 100755 index 3780021..3faae63 --- a/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c +++ b/deps/openssl/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c @@ -589,6 +589,8 @@ static int aesni_cbc_hmac_sha256_cipher(EVP_CIPHER_CTX *ctx, maxpad |= (255 - maxpad) >> (sizeof(maxpad) * 8 - 8); maxpad &= 255; + ret &= constant_time_ge(maxpad, pad); + inp_len = len - (SHA256_DIGEST_LENGTH + pad + 1); mask = (0 - ((inp_len - len) >> (sizeof(inp_len) * 8 - 1))); inp_len &= mask; -- 2.7.4