NSS 3.50 release notes

Introduction

The NSS team has released Network Security Services (NSS) 3.50 on 7 February 2020, which is a minor release.

Distribution Information

The HG tag is NSS_3_50_RTM. NSS 3.50 requires NSPR 4.25 or newer.

NSS 3.50 source distributions are available on ftp.mozilla.org for secure HTTPS download:

Other releases are available in NSS Releases.

Notable Changes in NSS 3.50

  • Verified primitives from HACL* were updated, bringing performance improvements for several platforms.
    • Note that Intel processors with SSE4 but without AVX are currently unable to use the improved ChaCha20/Poly1305 due to a build issue; such platforms will fall-back to less optimized algorithms. See Bug 1609569 for details.
  • Updated DTLS 1.3 implementation to Draft-30. See Bug 1599514 for details.
  • Added NIST SP800-108 KBKDF - PKCS#11 implementation. See Bug 1599603 for details.

Bugs fixed in NSS 3.50

  • Bug 1599514 - Update DTLS 1.3 implementation to Draft-30
  • Bug 1603438 - Fix native tools build failure due to lack of zlib include dir if external
  • Bug 1599603 - NIST SP800-108 KBKDF - PKCS#11 implementation
  • Bug 1606992 - Cache the most recent PBKDF1 password hash, to speed up repeated SDR operations, important with the increased KDF iteration counts. NSS 3.49.1 sped up PBKDF2 operations, though PBKDF1 operations are also relevant for older NSS databases (also included in NSS 3.49.2)
  • Bug 1608895 - Gyp builds on taskcluster broken by Setuptools v45.0.0 (for lacking Python3)
  • Bug 1574643 - Upgrade HACL* verified implementations of ChaCha20, Poly1305, and 64-bit Curve25519
  • Bug 1608327 - Two problems with NEON-specific code in freebl
  • Bug 1575843 - Detect AArch64 CPU features on FreeBSD
  • Bug 1607099 - Remove the buildbot configuration
  • Bug 1585429 - Add more HKDF test vectors
  • Bug 1573911 - Add more RSA test vectors
  • Bug 1605314 - Compare all 8 bytes of an mp_digit when clamping in Windows assembly/mp_comba
  • Bug 1604596 - Update Wycheproof vectors and add support for CBC, P256-ECDH, and CMAC tests
  • Bug 1608493 - Use AES-NI for non-GCM AES ciphers on platforms with no assembly-optimized implementation, such as macOS.
  • Bug 1547639 - Update zlib in NSS to 1.2.11
  • Bug 1609181 - Detect ARM (32-bit) CPU features on FreeBSD
  • Bug 1602386 - Fix build on FreeBSD/powerpc*
  • Bug 1608151 - Introduce NSS_DISABLE_ALTIVEC
  • Bug 1612623 - Depend on NSPR 4.25
  • Bug 1609673 - Fix a crash when NSS is compiled without libnssdbm support, but the nssdbm shared object is available anyway.

This Bugzilla query returns all the bugs fixed in NSS 3.50:

https://bugzilla.mozilla.org/buglist.cgi?resolution=FIXED&classification=Components&query_format=advanced&product=NSS&target_milestone=3.50

Compatibility

NSS 3.50 shared libraries are backward compatible with all older NSS 3.x shared libraries. A program linked with older NSS 3.x shared libraries will work with NSS 3.50 shared libraries without recompiling or relinking. Furthermore, applications that restrict their use of NSS APIs to the functions listed in NSS Public Functions will remain compatible with future versions of the NSS shared libraries.

Feedback

Bugs discovered should be reported by filing a bug report with bugzilla.mozilla.org (product NSS).