crypto/openssl: fix big numbers after computations
authorArek Kusztal <arkadiuszx.kusztal@intel.com>
Thu, 7 Feb 2019 10:54:39 +0000 (11:54 +0100)
committerAkhil Goyal <akhil.goyal@nxp.com>
Wed, 6 Mar 2019 16:30:43 +0000 (17:30 +0100)
After performing mod exp and mod inv big numbers (BIGNUM) should
be cleared as data already is copied into op fields and this BNs would
very likely contain private information for unspecified amount of time
(duration of the session).

Fixes: 3e9d6bd447fb ("crypto/openssl: add RSA and mod asym operations")
Cc: stable@dpdk.org
Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
Acked-by: Shally Verma <shallyv@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
drivers/crypto/openssl/rte_openssl_pmd.c

index ea5aac6..4ecc3c4 100644 (file)
@@ -1795,6 +1795,9 @@ process_openssl_modinv_op(struct rte_crypto_op *cop,
                cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
        }
 
+       BN_clear(res);
+       BN_clear(base);
+
        return 0;
 }
 
@@ -1825,6 +1828,9 @@ process_openssl_modexp_op(struct rte_crypto_op *cop,
                cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
        }
 
+       BN_clear(res);
+       BN_clear(base);
+
        return 0;
 }