diff options
Diffstat (limited to 'poky/meta/recipes-support/libgcrypt')
-rw-r--r-- | poky/meta/recipes-support/libgcrypt/files/CVE-2018-0495.patch | 76 | ||||
-rw-r--r-- | poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.3.bb (renamed from poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.2.bb) | 8 |
2 files changed, 4 insertions, 80 deletions
diff --git a/poky/meta/recipes-support/libgcrypt/files/CVE-2018-0495.patch b/poky/meta/recipes-support/libgcrypt/files/CVE-2018-0495.patch deleted file mode 100644 index c16bd3abd9..0000000000 --- a/poky/meta/recipes-support/libgcrypt/files/CVE-2018-0495.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 9010d1576e278a4274ad3f4aa15776c28f6ba965 Mon Sep 17 00:00:00 2001 -From: NIIBE Yutaka <gniibe@fsij.org> -Date: Wed, 13 Jun 2018 15:28:58 +0900 -Subject: [PATCH] ecc: Add blinding for ECDSA. - -* cipher/ecc-ecdsa.c (_gcry_ecc_ecdsa_sign): Blind secret D with -randomized nonce B. - --- - -Reported-by: Keegan Ryan <Keegan.Ryan@nccgroup.trust> -CVE-id: CVE-2018-0495 - -Upstream-Status: Backport [http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=9010d1576e278a4274ad3f4aa15776c28f6ba965] - -Signed-off-by: NIIBE Yutaka <gniibe@fsij.org> -Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> ---- - cipher/ecc-ecdsa.c | 20 ++++++++++++++++++-- - 1 file changed, 18 insertions(+), 2 deletions(-) - -diff --git a/cipher/ecc-ecdsa.c b/cipher/ecc-ecdsa.c -index 1484830b..140e8c09 100644 ---- a/cipher/ecc-ecdsa.c -+++ b/cipher/ecc-ecdsa.c -@@ -50,6 +50,8 @@ _gcry_ecc_ecdsa_sign (gcry_mpi_t input, ECC_secret_key *skey, - const void *abuf; - unsigned int abits, qbits; - mpi_ec_t ctx; -+ gcry_mpi_t b; /* Random number needed for blinding. */ -+ gcry_mpi_t bi; /* multiplicative inverse of B. */ - - if (DBG_CIPHER) - log_mpidump ("ecdsa sign hash ", input ); -@@ -61,6 +63,15 @@ _gcry_ecc_ecdsa_sign (gcry_mpi_t input, ECC_secret_key *skey, - if (rc) - return rc; - -+ b = mpi_snew (qbits); -+ bi = mpi_snew (qbits); -+ do -+ { -+ _gcry_mpi_randomize (b, qbits, GCRY_WEAK_RANDOM); -+ mpi_mod (b, b, skey->E.n); -+ } -+ while (!mpi_invm (bi, b, skey->E.n)); -+ - k = NULL; - dr = mpi_alloc (0); - sum = mpi_alloc (0); -@@ -115,8 +126,11 @@ _gcry_ecc_ecdsa_sign (gcry_mpi_t input, ECC_secret_key *skey, - } - while (!mpi_cmp_ui (r, 0)); - -- mpi_mulm (dr, skey->d, r, skey->E.n); /* dr = d*r mod n */ -- mpi_addm (sum, hash, dr, skey->E.n); /* sum = hash + (d*r) mod n */ -+ mpi_mulm (dr, b, skey->d, skey->E.n); -+ mpi_mulm (dr, dr, r, skey->E.n); /* dr = d*r mod n (blinded with b) */ -+ mpi_mulm (sum, b, hash, skey->E.n); -+ mpi_addm (sum, sum, dr, skey->E.n); /* sum = hash + (d*r) mod n (blinded with b) */ -+ mpi_mulm (sum, bi, sum, skey->E.n); /* undo blinding by b^-1 */ - mpi_invm (k_1, k, skey->E.n); /* k_1 = k^(-1) mod n */ - mpi_mulm (s, k_1, sum, skey->E.n); /* s = k^(-1)*(hash+(d*r)) mod n */ - } -@@ -129,6 +143,8 @@ _gcry_ecc_ecdsa_sign (gcry_mpi_t input, ECC_secret_key *skey, - } - - leave: -+ mpi_free (b); -+ mpi_free (bi); - _gcry_mpi_ec_free (ctx); - point_free (&I); - mpi_free (x); --- -2.13.3 - diff --git a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.2.bb b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.3.bb index 9d036c8fb1..cefa8365ee 100644 --- a/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.2.bb +++ b/poky/meta/recipes-support/libgcrypt/libgcrypt_1.8.3.bb @@ -10,7 +10,8 @@ LICENSE_${PN}-dev = "GPLv2+ & LGPLv2.1+" LICENSE_dumpsexp-dev = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" + file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff \ + file://LICENSES;md5=840e3bcb754e5046ffeda7619034cbd8" DEPENDS = "libgpg-error" @@ -20,10 +21,9 @@ SRC_URI = "${GNUPG_MIRROR}/libgcrypt/libgcrypt-${PV}.tar.bz2 \ file://0003-tests-bench-slope.c-workaround-ICE-failure-on-mips-w.patch \ file://0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch \ file://0004-tests-Makefile.am-fix-undefined-reference-to-pthread.patch \ - file://CVE-2018-0495.patch \ " -SRC_URI[md5sum] = "cfb0b5c79eab07686b6898160a407139" -SRC_URI[sha256sum] = "c8064cae7558144b13ef0eb87093412380efa16c4ee30ad12ecb54886a524c07" +SRC_URI[md5sum] = "3139c2402e844985a67fb288a930534d" +SRC_URI[sha256sum] = "66ec90be036747602f2b48f98312361a9180c97c68a690a5f376fa0f67d0af7c" BINCONFIG = "${bindir}/libgcrypt-config" |