NSS 3.52 release notes

Introduction

The NSS team has released Network Security Services (NSS) 3.52 on 1 May 2020.

The NSS team would like to recognize first-time contributors:

  • zhujianwei7
  • Hans Petter Jansson

Distribution Information

The HG tag is NSS_3_52_RTM. NSS 3.52 requires NSPR 4.25 or newer.

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

Other releases are available in NSS Releases.

Notable Changes in NSS 3.52

  • Bug 1603628 - Update NSS to support PKCS #11 v3.0.
    • Note: This change modifies the CK_GCM_PARAMS struct to include the ulIvBits field which, prior to PKCS #11 v3.0, was ambiguously defined and not included in the NSS definition. If an application is recompiled with NSS 3.52+, this field must be initialized to a value corresponding to ulIvLen. Alternatively, defining NSS_PKCS11_2_0_COMPAT will yield the old definition. See the bug for more information.
  • Bug 1623374 - Support new PKCS #11 v3.0 Message Interface for AES-GCM and ChaChaPoly.
  • Bug 1612493 - Integrate AVX2 ChaCha20, Poly1305, and ChaCha20Poly1305 from HACL*.

Bugs fixed in NSS 3.52

  • Bug 1633498 - Fix unused variable 'getauxval' error on iOS compilation.
  • Bug 1630721 - Add Softoken functions for FIPS.
  • Bug 1630458 - Fix problem of GYP MSVC builds not producing debug symbol files.
  • Bug 1629663 - Add IKEv1 Quick Mode KDF.
  • Bug 1629661 - MPConfig calls in SSL initialize policy before NSS is initialized.
  • Bug 1629655 - Support temporary session objects in ckfw.
  • Bug 1629105 - Add PKCS11 v3.0 functions to module debug logger.
  • Bug 1626751 - Fix error in generation of fuzz32 docker image after updates.
  • Bug 1625133 - Fix implicit declaration of function 'getopt' error.
  • Bug 1624864 - Allow building of gcm-arm32-neon on non-armv7 architectures.
  • Bug 1624402 - Fix compilation error in Firefox Android.
  • Bug 1624130 - Require CK_FUNCTION_LIST structs to be packed.
  • Bug 1624377 - Fix clang warning for unknown argument '-msse4'.
  • Bug 1623374 - Support new PKCS #11 v3.0 Message Interface for AES-GCM and ChaChaPoly.
  • Bug 1623184 - Fix freebl_cpuid for querying Extended Features.
  • Bug 1622555 - Fix argument parsing in lowhashtest.
  • Bug 1620799 - Introduce NSS_DISABLE_GCM_ARM32_NEON to build on arm32 without NEON support.
  • Bug 1619102 - Add workaround option to include both DTLS and TLS versions in DTLS supported_versions.
  • Bug 1619056 - Update README: TLS 1.3 is not experimental anymore.
  • Bug 1618915 - Fix UBSAN issue in ssl_ParseSessionTicket.
  • Bug 1618739 - Don't assert fuzzer behavior in SSL_ParseSessionTicket.
  • Bug 1617968 - Update Delegated Credentials implementation to draft-07.
  • Bug 1617533 - Update HACL* dependencies for libintvector.h
  • Bug 1613238 - Add vector accelerated SHA2 for POWER 8+.
  • Bug 1612493 - Integrate AVX2 ChaCha20, Poly1305, and ChaCha20Poly1305 from HACL*.
  • Bug 1612281 - Maintain PKCS11 C_GetAttributeValue semantics on attributes that lack NSS database columns.
  • Bug 1612260 - Add Wycheproof RSA test vectors.
  • Bug 1608250 - broken fipstest handling of KI_len.
  • Bug 1608245 - Consistently handle NULL slot/session.
  • Bug 1603801 - Avoid dcache pollution from sdb_measureAccess().
  • Bug 1603628 - Update NSS to support PKCS #11 v3.0.
  • Bug 1561637 - TLS 1.3 does not work in FIPS mode.
  • Bug 1531906 - Fix overzealous assertion when evicting a cached sessionID or using external cache.
  • Bug 1465613 - Fix issue where testlib makefile build produced extraneous object files.
  • Bug 1619959 - Properly handle multi-block SEED ECB inputs.
  • Bug 1630925 - Guard all instances of NSSCMSSignedData.signerInfo to avoid a CMS crash
  • Bug 1571677 - Name Constraints validation: CN treated as DNS name even when syntactically invalid as DNS name

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

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

Compatibility

NSS 3.52 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.52 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).