Hello community, here is the log from the commit of package gnutls for openSUSE:Leap:15.2 checked in at 2020-04-22 14:13:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/gnutls (Old) and /work/SRC/openSUSE:Leap:15.2/.gnutls.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnutls" Wed Apr 22 14:13:14 2020 rev:46 rq:796011 version:3.6.7 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/gnutls/gnutls.changes 2020-04-14 14:20:52.413269672 +0200 +++ /work/SRC/openSUSE:Leap:15.2/.gnutls.new.2738/gnutls.changes 2020-04-22 14:13:15.354536080 +0200 @@ -1,0 +2,7 @@ +Tue Apr 7 09:02:49 UTC 2020 - Vítězslav Čížek <[email protected]> + +- Backport AES XTS support (bsc#1168835) + * add 0001-Vendor-in-XTS-functionality-from-Nettle.patch + * add gnutls-fips_XTS_key_check.patch + +------------------------------------------------------------------- @@ -4,2 +11,3 @@ -- Fix zero random value in DTLS client hello (bsc#1168345) - * add gnutls-CVE-2020-XXXXX.patch +- Fix zero random value in DTLS client hello + (CVE-2020-11501, bsc#1168345) + * add gnutls-CVE-2020-11501.patch Old: ---- gnutls-CVE-2020-XXXXX.patch New: ---- 0001-Vendor-in-XTS-functionality-from-Nettle.patch gnutls-CVE-2020-11501.patch gnutls-fips_XTS_key_check.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnutls.spec ++++++ --- /var/tmp/diff_new_pack.HXcV8s/_old 2020-04-22 14:13:15.898537179 +0200 +++ /var/tmp/diff_new_pack.HXcV8s/_new 2020-04-22 14:13:15.902537187 +0200 @@ -44,7 +44,9 @@ Patch4: gnutls-3.6.7-SUSE_SLE15_guile_site_directory.patch Patch5: gnutls-3.6.7-fips_DH_ECDH_key_tests.patch Patch6: gnutls-3.6.7-fips-backport_dont_truncate_output_IV.patch -Patch7: gnutls-CVE-2020-XXXXX.patch +Patch7: gnutls-CVE-2020-11501.patch +Patch8: 0001-Vendor-in-XTS-functionality-from-Nettle.patch +Patch9: gnutls-fips_XTS_key_check.patch BuildRequires: autogen BuildRequires: automake BuildRequires: datefudge @@ -186,6 +188,8 @@ %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%patch9 -p1 # dtls-resume test fails on PPC %ifarch ppc64 ppc64le ppc %patch2 -p1 ++++++ 0001-Vendor-in-XTS-functionality-from-Nettle.patch ++++++ ++++ 699 lines (skipped) ++++++ gnutls-CVE-2020-XXXXX.patch -> gnutls-CVE-2020-11501.patch ++++++ ++++++ gnutls-fips_XTS_key_check.patch ++++++ Index: gnutls-3.6.7/lib/nettle/backport/xts.c =================================================================== --- gnutls-3.6.7.orig/lib/nettle/backport/xts.c 2020-04-07 11:11:54.506109418 +0200 +++ gnutls-3.6.7/lib/nettle/backport/xts.c 2020-04-07 16:52:48.543404370 +0200 @@ -203,6 +203,8 @@ xts_decrypt_message(const void *dec_ctx, void xts_aes128_set_encrypt_key(struct xts_aes128_key *xts_key, const uint8_t *key) { + /* FIPS requires that the key and the tweak must not be non-equal */ + assert(memcmp(key, key + AES128_KEY_SIZE, AES128_KEY_SIZE) != 0); aes128_set_encrypt_key(&xts_key->cipher, key); aes128_set_encrypt_key(&xts_key->tweak_cipher, &key[AES128_KEY_SIZE]); } @@ -210,6 +212,8 @@ xts_aes128_set_encrypt_key(struct xts_ae void xts_aes128_set_decrypt_key(struct xts_aes128_key *xts_key, const uint8_t *key) { + /* FIPS requires that the key and the tweak must not be non-equal */ + assert(memcmp(key, key + AES128_KEY_SIZE, AES128_KEY_SIZE) != 0); aes128_set_decrypt_key(&xts_key->cipher, key); aes128_set_encrypt_key(&xts_key->tweak_cipher, &key[AES128_KEY_SIZE]); } @@ -238,6 +242,8 @@ xts_aes128_decrypt_message(struct xts_ae void xts_aes256_set_encrypt_key(struct xts_aes256_key *xts_key, const uint8_t *key) { + /* FIPS requires that the key and the tweak must not be non-equal */ + assert(memcmp(key, key + AES256_KEY_SIZE, AES256_KEY_SIZE) != 0); aes256_set_encrypt_key(&xts_key->cipher, key); aes256_set_encrypt_key(&xts_key->tweak_cipher, &key[AES256_KEY_SIZE]); } @@ -245,6 +251,8 @@ xts_aes256_set_encrypt_key(struct xts_ae void xts_aes256_set_decrypt_key(struct xts_aes256_key *xts_key, const uint8_t *key) { + /* FIPS requires that the key and the tweak must not be non-equal */ + assert(memcmp(key, key + AES256_KEY_SIZE, AES256_KEY_SIZE) != 0); aes256_set_decrypt_key(&xts_key->cipher, key); aes256_set_encrypt_key(&xts_key->tweak_cipher, &key[AES256_KEY_SIZE]); }
