CVE-2026-71889: Bouncy Castle for Java X.509 name constraints bypass in PKIXCertPathReviewer

CVE-2026-71889 · Severity: info · Published 2026-10-03

Bouncy Castle for Java contains a cryptographic library used by applications to validate X.509 certificates and certificate chains. A flaw in the PKIXCertPathReviewer component failed to enforce name constraints on end-entity (leaf) certificates, allowing applications using the reviewer for trust decisions to accept certificates that violating CAs should never have issued. An attacker could exploit this to obtain a certificate from a constrained CA that bypasses the intended restrictions.

Technologies: Bouncy Castle for Java. Vendors: Bouncy Castle.

Quick answers

Is CVE-2026-71889 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-71889 being exploited in the wild.
How severe is CVE-2026-71889?
Informational severity, published 3 October 2026.
Which products and versions are affected?
Bouncy Castle for Java before 1.86; Bouncy Castle for Java FIPS bcpkix-fips 1.0.X before 1.0.13, 2.0.X before 2.0.13, 2.1.X before 2.1.13; Bouncy Castle for Java LTS before 2.73.13.
Is there a fix for CVE-2026-71889?
Yes: fixed in Bouncy Castle for Java 1.86, Bouncy Castle for Java LTS 2.73.13, Bouncy Castle for Java FIPS bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series), 2.1.13 (2.1.X series). Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-71889 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-71889?
Check whether you run Bouncy Castle for Java, Bouncy Castle for Java FIPS bcpkix-fips or Bouncy Castle for Java LTS at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: Bouncy Castle for Java 1.86, Bouncy Castle for Java LTS 2.73.13, Bouncy Castle for Java FIPS bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series), 2.1.13 (2.1.X series)

Technical details

The PKIXCertPathReviewer's checkNameConstraints method did not validate X.509 name constraints against the target certificate (index 0 in the cert path), only CA certificates in the chain. This bypassed RFC 5280 section 6.1.3 (b) and (c) checks on the leaf's subject DN and subjectAltName extensions. An attacker with access to a CA bound by name constraints could issue a certificate violating those constraints, and applications relying on PKIXCertPathReviewer instead of CertPathValidator would incorrectly report validation success.

Affected products

  • Bouncy Castle Bouncy Castle for Java before 1.86
  • Bouncy Castle Bouncy Castle for Java LTS before 2.73.13
  • Bouncy Castle Bouncy Castle for Java FIPS bcpkix-fips 1.0.X before 1.0.13, 2.0.X before 2.0.13, 2.1.X before 2.1.13

Timeline

  • 2026-10-03: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.