From d8fb81fab3042b0229e11e82f88ed062b171036a Mon Sep 17 00:00:00 2001 From: Rod Vagg Date: Mon, 29 Oct 2018 20:26:00 +1100 Subject: deps: float 99540ec from openssl (CVE-2018-0735) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Low severity timing vulnerability in ECDSA signature generation Publicly disclosed but unreleased, pending OpenSSL 1.1.0j Also includes trivial syntax fix from https://github.com/openssl/openssl/pull/7516 Ref: https://www.openssl.org/news/secadv/20181029.txt Ref: https://github.com/openssl/openssl/pull/7486 PR-URL: https://github.com/nodejs/node/pull/??? Upstream: https://github.com/openssl/openssl/commit/99540ec Original commit message: Timing vulnerability in ECDSA signature generation (CVE-2018-0735) Preallocate an extra limb for some of the big numbers to avoid a reallocation that can potentially provide a side channel. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/7486) PR-URL: https://github.com/nodejs/node/pull/23950 Refs: https://www.openssl.org/news/secadv/20181029.txt Refs: https://github.com/openssl/openssl/pull/7486 Reviewed-By: Colin Ihrig Reviewed-By: Ujjwal Sharma Reviewed-By: Ben Noordhuis Reviewed-By: Tobias Nießen Reviewed-By: James M Snell --- deps/openssl/openssl/crypto/ec/ec_mult.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'deps/openssl/openssl') diff --git a/deps/openssl/openssl/crypto/ec/ec_mult.c b/deps/openssl/openssl/crypto/ec/ec_mult.c index 56c7767772..26de9d25e7 100644 --- a/deps/openssl/openssl/crypto/ec/ec_mult.c +++ b/deps/openssl/openssl/crypto/ec/ec_mult.c @@ -177,8 +177,8 @@ static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, */ cardinality_bits = BN_num_bits(cardinality); group_top = bn_get_top(cardinality); - if ((bn_wexpand(k, group_top + 1) == NULL) - || (bn_wexpand(lambda, group_top + 1) == NULL)) + if ((bn_wexpand(k, group_top + 2) == NULL) + || (bn_wexpand(lambda, group_top + 2) == NULL)) goto err; if (!BN_copy(k, scalar)) @@ -205,7 +205,7 @@ static int ec_mul_consttime(const EC_GROUP *group, EC_POINT *r, * k := scalar + 2*cardinality */ kbit = BN_is_bit_set(lambda, cardinality_bits); - BN_consttime_swap(kbit, k, lambda, group_top + 1); + BN_consttime_swap(kbit, k, lambda, group_top + 2); group_top = bn_get_top(group->field); if ((bn_wexpand(s->X, group_top) == NULL) -- cgit v1.2.3