[PATCH] crypto: authencesn - Fix incorrect setauthsize function
From: Ingyu Jang
Date: Fri Oct 13 2023 - 05:55:47 EST
Fixes a mismatch between 'setauthsize' documentation and
actual behavior of 'crypto_authenc_esn_setauthsize()' function
As per the documentation in 'aead.h' for the '@setauthsize' attribute:
@setauthsize: Set authentication size for the AEAD transformation. This
function is used to specify the consumer requested size of the
authentication tag to be either generated by the transformation
during encryption or the size of the authentication tag to be
supplied during the decryption operation. This function is also
responsible for checking the authentication tag size for
validity.
However, the implementation does not align with this description.
The function only checked the validity of the input authsize without setting it.
Consequently, 'authsize' is used without being initialized,
resulting in an uninitialized memory read issue.
Signed-off-by: Ingyu Jang <ingyujang25@xxxxxxxxxxx>
---
crypto/authencesn.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/crypto/authencesn.c b/crypto/authencesn.c
index 91424e791d5c..c1346d5b7950 100644
--- a/crypto/authencesn.c
+++ b/crypto/authencesn.c
@@ -52,6 +52,8 @@ static int crypto_authenc_esn_setauthsize(struct crypto_aead *authenc_esn,
if (authsize > 0 && authsize < 4)
return -EINVAL;
+ authenc_esn->authsize = authsize;
+
return 0;
}
--
2.34.1