diff mbox

[v2] crypto: AEAD: add check for presence of auth tag

Message ID 2529951.NL2CVhi6xs@tachyon.chronox.de (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show

Commit Message

Stephan Mueller Jan. 5, 2015, 11:21 a.m. UTC
The AEAD decryption operation requires the authentication tag to be
present as part of the cipher text buffer. The added check verifies that
the caller provides a cipher text with at least the authentication tag.

Signed-off-by: Stephan Mueller <smueller@chronox.de>
---
 include/linux/crypto.h | 3 +++
 1 file changed, 3 insertions(+)

Comments

Herbert Xu Jan. 8, 2015, 10:48 a.m. UTC | #1
On Mon, Jan 05, 2015 at 12:21:45PM +0100, Stephan Mueller wrote:
> The AEAD decryption operation requires the authentication tag to be
> present as part of the cipher text buffer. The added check verifies that
> the caller provides a cipher text with at least the authentication tag.
> 
> Signed-off-by: Stephan Mueller <smueller@chronox.de>

Applied.
diff mbox

Patch

diff --git a/include/linux/crypto.h b/include/linux/crypto.h
index 9c8776d..9099834 100644
--- a/include/linux/crypto.h
+++ b/include/linux/crypto.h
@@ -1412,6 +1412,9 @@  static inline int crypto_aead_encrypt(struct aead_request *req)
  */
 static inline int crypto_aead_decrypt(struct aead_request *req)
 {
+	if (req->cryptlen < crypto_aead_authsize(crypto_aead_reqtfm(req)))
+		return -EINVAL;
+
 	return crypto_aead_crt(crypto_aead_reqtfm(req))->decrypt(req);
 }