OSDN Git Service

crypto: chelsio - don't leak information from the stack to userspace
authorColin Ian King <colin.king@canonical.com>
Thu, 5 Apr 2018 16:44:03 +0000 (17:44 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 20 Apr 2018 16:58:31 +0000 (00:58 +0800)
The structure crypto_info contains fields that are not initialized and
only .version is set.  The copy_to_user call is hence leaking information
from the stack to userspace which must be avoided. Fix this by zero'ing
all the unused fields.

Detected by CoverityScan, CID#1467421 ("Uninitialized scalar variable")

Fixes: a08943947873 ("crypto: chtls - Register chtls with net tls")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/chelsio/chtls/chtls_main.c

index 007c45c..69f3756 100644 (file)
@@ -441,7 +441,7 @@ nomem:
 static int do_chtls_getsockopt(struct sock *sk, char __user *optval,
                               int __user *optlen)
 {
-       struct tls_crypto_info crypto_info;
+       struct tls_crypto_info crypto_info = { 0 };
 
        crypto_info.version = TLS_1_2_VERSION;
        if (copy_to_user(optval, &crypto_info, sizeof(struct tls_crypto_info)))