NSS 3.128 release notes

Introduction

Network Security Services (NSS) 3.128 was released on 26 August 2026.

Distribution Information

The HG tag is NSS_3_128_RTM. NSS 3.128 requires NSPR 4.39 or newer.

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

Other releases are available Release Notes.

Changes in NSS 3.128

  • Bug 2063360 - Rejoin the table cells the conversion wrapped mid-construct.

  • Bug 2063360 - Generate heading anchors and stop the headings linking to themselves.

  • Bug 2063360 - Unlink the self-linking headings in the release notes.

  • Bug 2063360 - Point documentation cross-references at the dashed anchors.

  • Bug 2063360 - Fix doc-lint in the release process.

  • Bug 2066375 - Make fuzz tasks selectable with try syntax.

  • Bug 2066375 - Build Cryptofuzz in its own CI task.

  • Bug 2066604 - fix EC public key encoding in sftk_PutPubKey.

  • Bug 2066183 - set CKA_ID on imported private keys.

  • Bug 2017925 - Hash prfs need to be evaluated for indicators.

  • Bug 2066327 - rename libcrux gyp target.

  • Bug 2066415 - Update BoGo tests to disable ML_DSA Default test.

  • Bug 2065354 - unify the two clang-format docker images.

  • Bug 2056265 - -trust-cert for TLS BoGo tests.

  • Bug 2056235 - DTLS1.2/1.3 - silently discard invalid records.

  • Bug 2052273 - Adding -trust-cert support for BoGo DTLS tests.

  • Bug 2063443 - nullify dangling pointers in libssl, pk11wrap, and softoken.

  • Bug 2027768 - Fix build failure due to missing gcm stubs if on big endian.

  • Bug 2065354 - clang-format everything.

  • Bug 2065354 - Update clang-format version to 22.

  • Bug 2054818 - make mach try work with git-cinnabar checkouts.

  • Bug 2054696 - avoid integer overflow in PK11SDR_EncryptWithMechanism.

  • Bug 2056778 - fix slot over-release in PK11_FindCertFromDERCertItem.

  • Bug 2056789 - fix missing BAD_PARAM_CAST in NSC_DeriveKey CKM_DES3_CBC_ENCRYPT_DATA branch.

  • Bug 2064946 - additional ML-DSA ssl gtests.

  • Bug 2064644 - ml_dsat.h: portable comments should use block comment style.

  • Bug 1983320 - ml-dsa tls tests.

  • Bug 2056787 - hold handshake locks longer in SSL_ResetHandshake.

  • Bug 1983320 - ML-DSA tests for Sign/Verify, certificates and pkcs12.

  • Bug 2056786 - take smime profile lock while updating profile data.

  • Bug 2062824 - add defensive null checks in PK11_Encapsulate and PK11_Decapsulate.

  • Bug 2062822 - nulled slot in pk11_loadPrivKeyWithFlags leads to token object leak.

  • Bug 2062802 - handle ML-KEM in stfk_CopyTokenPrivateKey and stfk_CopyTokenPublicKey.

  • Bug 2062450 - Allow unknown hashAlg with ML-DSA in VFY_VerifyDataDirect.

  • Bug 2062379 - additional ML-KEM tests.

  • Bug 2062375 - handle unknown ML-KEM parameter sets in PK11_ExtractPublicKey.

  • Bug 2062373 - missing CKP_NSS_ML_KEM_768 branches in seckey helper functions.

  • Bug 2062372 - remove unused sftk_kyber_AllocCiphertextItem function.

  • Bug 2060302 - additional ML-DSA tests.

  • Bug 2060358 - add wycheproof tests for ML-KEM and ML-DSA.

  • Bug 2060302 - vendor libcrux ML-DSA and enable the ML-DSA freebl backend.

  • Bug 2060301 - bump libcrux and re-vendor ML-KEM from the combined C extraction.

  • Bug 2027352 - validate IV length for CKM_RC2_CBC in pk11_ParamFromIVWithLen.

  • Bug 1983320 - ml-dsa tls patch.

  • Bug 2056775 - protect nssPKIObject.cryptoContext with a lock.