Open Bug 2092660 Opened 2 days ago Updated 22 hours ago

Update NSS to new version 41ce7c3d53928ac4d08045a20bb6468f1c02a4c2 from 2026-11-13 18:24:14 UTC

Categories

(Core :: Security: PSM, enhancement)

enhancement

Tracking

()

ASSIGNED
Tracking Status
firefox162 --- affected

People

(Reporter: update-bot, Assigned: update-bot)

References

(Blocks 1 open bug)

Details

(Whiteboard: [3pl-filed][task_id: V0AJbhPQRVOevfY-SvuBGA])

Attachments

(1 external file)

This update covers 7 commits. Here are the overall diff statistics, and then the commit information.


security/nss/coreconf/WIN32.mk | 5 +-
security/nss/coreconf/command.mk | 2 +-
security/nss/coreconf/config.gypi | 4 +-
security/nss/cpputil/Makefile | 2 -
security/nss/gtests/certdb_gtest/decode_certs_unittest.cc | 13 +-
security/nss/gtests/common/gtest.mk | 2 -
security/nss/gtests/mozpkix_gtest/mozpkix_gtest.gyp | 2 +
security/nss/gtests/mozpkix_gtest/pkixcheck_CheckSignatureAlgorithm_tests.cpp | 112 +
security/nss/gtests/mozpkix_gtest/pkixder_pki_types_tests.cpp | 104 +-
security/nss/gtests/mozpkix_gtest/pkixgtest.h | 26 +
security/nss/gtests/mozpkix_gtest/pkixmldsa_tests.cpp | 980 ++++++++++
security/nss/gtests/nss_bogo_shim/Makefile | 2 -
security/nss/gtests/pk11_gtest/pk11_ecdsa_unittest.cc | 9 +
security/nss/gtests/pk11_gtest/pk11_eddsa_unittest.cc | 12 +
security/nss/gtests/pk11_gtest/pk11_mldsa_unittest.cc | 19 +
security/nss/gtests/pk11_gtest/pk11_rsapkcs1_unittest.cc | 12 +
security/nss/gtests/pk11_gtest/pk11_rsapss_unittest.cc | 19 +
security/nss/gtests/pk11_gtest/pk11_signature_test.h | 30 +
security/nss/lib/certdb/stanpcertdb.c | 2 +-
security/nss/lib/freebl/ec.c | 9 +-
security/nss/lib/mozpkix/include/pkix-test/pkixtestutil.h | 7 +
security/nss/lib/mozpkix/include/pkix/pkix.h | 5 +
security/nss/lib/mozpkix/include/pkix/pkixder.h | 27 +-
security/nss/lib/mozpkix/include/pkix/pkixnss.h | 7 +
security/nss/lib/mozpkix/include/pkix/pkixtypes.h | 31 +
security/nss/lib/mozpkix/include/pkix/pkixutil.h | 5 -
security/nss/lib/mozpkix/lib/pkixc.cpp | 23 +
security/nss/lib/mozpkix/lib/pkixcert.cpp | 1 +
security/nss/lib/mozpkix/lib/pkixcheck.cpp | 107 +-
security/nss/lib/mozpkix/lib/pkixder.cpp | 41 +-
security/nss/lib/mozpkix/lib/pkixnss.cpp | 46 +
security/nss/lib/mozpkix/lib/pkixverify.cpp | 26 +-
security/nss/lib/mozpkix/mozpkix.gyp | 138 +-
security/nss/lib/mozpkix/test-lib/pkixtestalg.cpp | 31 +
security/nss/lib/mozpkix/test-lib/pkixtestnss.cpp | 74 +-
security/nss/lib/pk11wrap/pk11cert.c | 7 +
security/nss/lib/pki/certificate.c | 7 +-
security/nss/lib/pki/pki3hack.c | 16 +-
security/nss/lib/pki/pkim.h | 5 +-
security/nss/lib/softoken/pkcs11c.c | 15 +-
security/nss/lib/ssl/mozpkixwrappers.cpp | 2 +-
security/nss/moz.yaml | 4 +-
42 files changed, 1857 insertions(+), 134 deletions(-)


41ce7c3d53928ac4d08045a20bb6468f1c02a4c2 by John Schanck <jschanck@mozilla.com>

https://github.com/mozilla/nss/commit/41ce7c3d53928ac4d08045a20bb6468f1c02a4c2
Authored: 2026-11-13 18:24:14 +0000
Committed: 2026-11-13 18:24:14 +0000

Bug 2092346 - Don't define mozpkix_ssl in mozpkix-only builds. r=goutam

Differential Revision: https://phabricator.services.mozilla.com/D342393

Files Modified:

  • lib/mozpkix/mozpkix.gyp

5cd24fddc485f0fd9debc5ec8a9405dcaf864753 by John Schanck <jschanck@mozilla.com>

https://github.com/mozilla/nss/commit/5cd24fddc485f0fd9debc5ec8a9405dcaf864753
Authored: 2026-11-12 21:02:32 +0000
Committed: 2026-11-12 21:02:32 +0000

Bug 2068282 - add ML-DSA tests for mozilla::pkix. r=nss-reviewers,goutam,keeler

Differential Revision: https://phabricator.services.mozilla.com/D337328

Files Added:

  • gtests/mozpkix_gtest/pkixmldsa_tests.cpp

Files Modified:

  • gtests/mozpkix_gtest/mozpkix_gtest.gyp
  • gtests/mozpkix_gtest/pkixcheck_CheckSignatureAlgorithm_tests.cpp
  • gtests/mozpkix_gtest/pkixder_pki_types_tests.cpp
  • gtests/mozpkix_gtest/pkixgtest.h
  • gtests/pk11_gtest/pk11_mldsa_unittest.cc
  • lib/mozpkix/include/pkix-test/pkixtestutil.h
  • lib/mozpkix/test-lib/pkixtestalg.cpp
  • lib/mozpkix/test-lib/pkixtestnss.cpp

43db94dcbf2eaca510165f0c4616cba0b14cc3b5 by John Schanck <jschanck@mozilla.com>

https://github.com/mozilla/nss/commit/43db94dcbf2eaca510165f0c4616cba0b14cc3b5
Authored: 2026-11-12 21:02:31 +0000
Committed: 2026-11-12 21:02:31 +0000

Bug 2068282 - split PublicKeyAlgorithm::MLDSA into one algorithm per parameter set. r=nss-reviewers,keeler

Keeping the parameter set lets mozilla::pkix check that it is used
consistently:

  • der::PublicKeyAlgorithm::MLDSA is now MLDSA_44, MLDSA_65 and MLDSA_87,
    so CheckSignatureAlgorithm rejects certificates whose two signature
    algorithm fields name different parameter sets (RFC 5280 4.1.1.2).
  • TrustDomain::VerifyMLDSASignedData and VerifyMLDSASignedDataNSS take the
    parameter set named by the signature algorithm, and
    VerifyMLDSASignedDataNSS rejects keys that are not ML-DSA keys or that
    are for a different parameter set.
  • New MLDSAParameterSet enum and TrustDomain::CheckMLDSAParameterSetIsAcceptable
    hook, called from CheckSubjectPublicKeyInfo, so that applications can
    refuse ML-DSA keys by parameter set.
  • CheckSubjectPublicKeyInfo checks that an ML-DSA public key has the
    length that FIPS 204 gives for its parameter set.
  • ML-DSA AlgorithmIdentifiers must not have parameters, not even NULL
    (RFC 9881 Section 2).

Differential Revision: https://phabricator.services.mozilla.com/D337327

Files Modified:

  • lib/mozpkix/include/pkix/pkixder.h
  • lib/mozpkix/include/pkix/pkixnss.h
  • lib/mozpkix/include/pkix/pkixtypes.h
  • lib/mozpkix/lib/pkixc.cpp
  • lib/mozpkix/lib/pkixcheck.cpp
  • lib/mozpkix/lib/pkixder.cpp
  • lib/mozpkix/lib/pkixnss.cpp
  • lib/mozpkix/lib/pkixverify.cpp

56bedb172b13f280418bc57fed8496328a656f8a by Francesco Rollo <eferollo@gmail.com>

https://github.com/mozilla/nss/commit/56bedb172b13f280418bc57fed8496328a656f8a
Authored: 2026-11-12 21:02:31 +0000
Committed: 2026-11-12 21:02:31 +0000

Bug 2068282 - Enable ML-DSA signature verification for certificate chain validation r=keeler

  • Added MLDSA to the PublicKeyAlgorithm enum in pkixder.h.
  • Implemented VerifyMLDSASignedDataNSS for verifying raw ML-DSA signatures.
  • Extended the TrustDomain interface with a virtual method VerifyMLDSASignedData().
  • Integrated ML-DSA support into:
    • pkixverify.cpp (verification dispatch)
    • pkixcheck.cpp (OID recognition and public key checks)
    • pkixder.cpp (signature algorithm decoding)
    • pkixnss.cpp (signature mechanism handling)
  • Defined and matched the ML-DSA OIDs.
  • Enforced the DER encoding rule that ML-DSA AlgorithmIdentifier must omit parameters.

Signed-off-by: Francesco Rollo <eferollo@gmail.com>

Differential Revision: https://phabricator.services.mozilla.com/D264144

Files Modified:

  • lib/mozpkix/include/pkix/pkixder.h
  • lib/mozpkix/include/pkix/pkixnss.h
  • lib/mozpkix/include/pkix/pkixtypes.h
  • lib/mozpkix/lib/pkixc.cpp
  • lib/mozpkix/lib/pkixcheck.cpp
  • lib/mozpkix/lib/pkixder.cpp
  • lib/mozpkix/lib/pkixnss.cpp
  • lib/mozpkix/lib/pkixverify.cpp

cffbcbf846e3ac6f3c1dc677122fbcff8d3f8a5c by John Schanck <jschanck@mozilla.com>

https://github.com/mozilla/nss/commit/cffbcbf846e3ac6f3c1dc677122fbcff8d3f8a5c
Authored: 2026-11-12 21:02:31 +0000
Committed: 2026-11-12 21:02:31 +0000

Bug 2068282 - build C++ code as C++17. r=nss-reviewers,keeler

mozilla::pkix's ML-DSA support uses std::optional. Firefox already builds
NSS as C++17 or later.

gyp can only pass the language standard to MSVC and clang-cl for whole
targets, so the C++-only mozpkix targets select it, and libssl's C++ code
avoids the headers that need it: FindSubjectPublicKeyInfo is now declared
in pkix.h rather than pkixutil.h.

Differential Revision: https://phabricator.services.mozilla.com/D337326

Files Modified:

  • coreconf/WIN32.mk
  • coreconf/command.mk
  • coreconf/config.gypi
  • cpputil/Makefile
  • gtests/common/gtest.mk
  • gtests/nss_bogo_shim/Makefile
  • lib/mozpkix/include/pkix/pkix.h
  • lib/mozpkix/include/pkix/pkixutil.h
  • lib/mozpkix/lib/pkixcert.cpp
  • lib/mozpkix/mozpkix.gyp
  • lib/ssl/mozpkixwrappers.cpp

b221234646f9452173f43c4f686621df66318729 by John Schanck <jschanck@mozilla.com>

https://github.com/mozilla/nss/commit/b221234646f9452173f43c4f686621df66318729
Authored: 2026-11-12 21:02:31 +0000
Committed: 2026-11-12 21:02:31 +0000

Bug 2086776 - fix error code for zero-length and wrong-length signatures. r=nss-reviewers,aweine

Differential Revision: https://phabricator.services.mozilla.com/D337744

Files Modified:

  • gtests/pk11_gtest/pk11_ecdsa_unittest.cc
  • gtests/pk11_gtest/pk11_eddsa_unittest.cc
  • gtests/pk11_gtest/pk11_rsapkcs1_unittest.cc
  • gtests/pk11_gtest/pk11_rsapss_unittest.cc
  • gtests/pk11_gtest/pk11_signature_test.h
  • lib/freebl/ec.c
  • lib/softoken/pkcs11c.c

380ba90c7a12e7dd4cb74ed3872f0f91599d2eb4 by Dana Keeler <dkeeler@mozilla.com>

https://github.com/mozilla/nss/commit/380ba90c7a12e7dd4cb74ed3872f0f91599d2eb4
Authored: 2026-11-12 20:28:41 +0000
Committed: 2026-11-12 20:28:41 +0000

Bug 2087030 - leave a certificate's ID empty if its SPKI can't be decoded r=nss-reviewers,rrelyea

Differential Revision: https://phabricator.services.mozilla.com/D338453

Files Modified:

  • gtests/certdb_gtest/decode_certs_unittest.cc
  • lib/certdb/stanpcertdb.c
  • lib/pk11wrap/pk11cert.c
  • lib/pki/certificate.c
  • lib/pki/pki3hack.c
  • lib/pki/pkim.h

Attachment #9682741 - Attachment description: Bug 2092660 - Update NSS to 41ce7c3d53928ac4d08045a20bb6468f1c02a4c2 → Bug 2092660 - Update NSS to 41ce7c3d53928ac4d08045a20bb6468f1c02a4c2. UPGRADE_NSS_RELEASE
Assignee: nobody → update-bot
Status: NEW → ASSIGNED

It looks like we experienced one or more build failures when trying to apply this
update. You will need to apply this update manually; you can replicate the patch
locally with ./mach vendor security/nss/moz.yaml --revision 41ce7c3d53928ac4d08045a20bb6468f1c02a4c2. I'm going to abandon the Phabricator patch and
let you submit a new one.

If the build failure wasn't caused by a library change, and was instead caused by
something structural in the build system please let my maintainers know in
Slack:#secinf.

I do my best to automatically add new files to the build, but some moz.build files
are complicated and you may need to fix them manually.

Flags: needinfo?(jschanck)
Flags: needinfo?(jschanck)

A newer version of this library is in Bug 2092986. Because someone has taken over the
Phabricator revision here, I'm leaving this bug open instead of closing it as a
duplicate of that one.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: