crypto: talitos - Fix timing leak in ESP ICV verification

Using non-constant time memcmp() makes the verification of the authentication
tag in the decrypt path vulnerable to timing attacks. Fix this by using
crypto_memneq() instead.

Cc: [email protected]
Signed-off-by: David Gstir <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
This commit is contained in:
David Gstir 2015-11-15 17:14:42 +01:00 • committed by Herbert Xu
commit 79960943fd

View file

@ -977,7 +977,7 @@ static void ipsec_esp_decrypt_swauth_done(struct device *dev,
} else
oicv = (char *)&edesc->link_tbl[0];
err = memcmp(oicv, icv, authsize) ? -EBADMSG : 0;
err = crypto_memneq(oicv, icv, authsize) ? -EBADMSG : 0;
}
kfree(edesc);