(mozilla-projects-nss-nss-3-128-release-notes)=

# NSS 3.128 release notes

## Introduction

:::{container}
Network Security Services (NSS) 3.128 was released on *26 August 2026*.
:::

## Distribution Information

:::{container}
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:

- Source tarballs:
  <https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_128_RTM/src/>

Other releases are available {ref}`mozilla-projects-nss-releases`.
:::

(changes-in-nss-3-128)=

## Changes in NSS 3.128

:::{container}
- 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.
:::
