CVE-2026-78323: Jss: jss: jsstrustmanager does not verify nss trust flags on ca certificates

Published Aug 24, 2026
·
Updated

A flaw was found in JSS (Java Security Services). The JSSTrustManager class does not verify NSS trust flags when validating CA certificates, allowing certificates present in the NSS database without TRUSTEDCA flags to be accepted as trust anchors for TLS connections. In non-default configurations where certificate revocation checking is disabled, this could allow a man-in-the-middle attacker to forge certificates accepted by PKI client connections.

Other sources

A flaw was found in JSS (Java Security Services). The JSSTrustManager class, which implements javax.net.ssl.X509TrustManager for JSS-based TLS connections, does not filter CA certificates by NSS trust flags when building its set of accepted issuers. The getAcceptedIssuers() method returns all certificates with basicConstraints CA=TRUE from the NSS database regardless of whether they carry TRUSTEDCA trust flags, and checkSignature() performs only cryptographic signature validation against this unfiltered set. This means a certificate present in the NSS database with only VALIDCA flags (as set by routine operations such as certificate enrollment via CERTImportCAChainTrusted) could be treated as a trust anchor for TLS connections. In default configurations, the native revocation verification check (certChainRevokeVerify) catches this condition because NSS's native verification properly validates trust flags. However, if revocation checking is disabled, an attacker controlling the private key of an under-trusted CA could forge certificates accepted by JSSTrustManager, enabling man-in-the-middle attacks on outbound PKI client connections.

Red Hat

Affected Software

1 affected component
JSS (Java Security Services)=

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Ensure native revocation verification is enabled (certChainRevokeVerify) so that revocation checking is not disabled; otherwise a MITM attacker with control of an under-trusted CA private key could forge certificates accepted by JSSTrustManager.

    JSS (Java Security Services) / JSSTrustManager certChainRevokeVerify (native revocation verification check) = enabled
  2. Configuration

    Update/adjust JSSTrustManager behavior so it verifies NSS trust flags on CA certificates (filter CA certificates by NSS trust flags, requiring TRUSTED_CA), rather than accepting CA certificates from the NSS database based only on basicConstraints CA=TRUE.

    JSS (Java Security Services) / JSSTrustManager NSS CA trust flags verification in JSSTrustManager = enabled

Event History

Aug 24, 2026
Data Sourced
via Red Hat·09:39 AM
DescriptionSeverityAffected Software
CVE Published
via MITRE·11:11 AM
Data Sourced
via MITRE·11:11 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·12:16 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to practical exploitation?

The issue is practically exploitable in non-default configurations where certificate revocation checking is disabled. TLS PKI client connections using JSSTrustManager may then accept CA certificates in the NSS database even when they lack TRUSTED_CA flags.

2

What does an attacker need to exploit this issue?

An attacker would need to perform a man-in-the-middle attack and forge a certificate that is accepted through an NSS database CA certificate lacking the TRUSTED_CA flags. No privileges or user interaction are required according to the supplied vector.

3

Is the default configuration affected?

The described attack condition requires certificate revocation checking to be disabled, which is identified as a non-default configuration. The provided information does not establish practical exploitation under the default configuration.

4

What can be done if patching cannot be performed immediately?

Ensure certificate revocation checking remains enabled. This removes the non-default condition identified as enabling the described man-in-the-middle scenario.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203