mirror of
https://github.com/samba-team/samba.git
synced 2025-02-01 05:47:28 +03:00
lib:crypto: Use constant time memory comparison to check HMAC
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> (cherry picked from commit 121e439e24a9c03ae900ffca1ae1dda8e059008c)
This commit is contained in:
parent
af7c57e037
commit
1263a8a521
@ -282,7 +282,7 @@ samba_gnutls_aead_aes_256_cbc_hmac_sha512_decrypt(TALLOC_CTX *mem_ctx,
|
||||
uint8_t padding;
|
||||
size_t i;
|
||||
NTSTATUS status;
|
||||
int cmp;
|
||||
bool equal;
|
||||
int rc;
|
||||
|
||||
if (cdk->length == 0 || ciphertext->length == 0 ||
|
||||
@ -333,8 +333,8 @@ samba_gnutls_aead_aes_256_cbc_hmac_sha512_decrypt(TALLOC_CTX *mem_ctx,
|
||||
}
|
||||
gnutls_hmac_deinit(hmac_hnd, auth_data);
|
||||
|
||||
cmp = memcmp(auth_data, auth_tag, sizeof(auth_data));
|
||||
if (cmp != 0) {
|
||||
equal = mem_equal_const_time(auth_data, auth_tag, sizeof(auth_data));
|
||||
if (!equal) {
|
||||
return NT_STATUS_DECRYPTION_FAILED;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user