CVE-2026-71889 json
PKIXCertPathReviewer does not apply X.509 name constraints to the target certificate
published last mo. modified last mo. also EUVD-2026-91990
- cvss
- 8.7
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
In Bouncy Castle for Java before 1.86, neither copy of PKIXCertPathReviewer - org.bouncycastle.pkix.jcajce.PKIXCertPathReviewer nor the legacy org.bouncycastle.x509.PKIXCertPathReviewer - applied X.509 name constraints to the end-entity certificate. checkNameConstraints walked the path with a loop bound of index greater than zero, which is the bound the CA-only steps require, but index zero is the target certificate under the standard CertPath ordering, so the permitted and excluded subtree checks of RFC 5280 sec. 6.1.3 (b) and (c) never ran against the leaf's subject DN or its subjectAltName. A chain whose leaf violated a NameConstraints extension imposed by its own issuing CA therefore reported isValidCertPath() true with an empty error list, while CertPathValidator.getInstance("PKIX", "BC"), which shares no code with the reviewer, rejected the identical chain against the identical trust anchor. An application using the reviewer to make the trust decision rather than for diagnostics alongside a real validation accepted a certificate the constrained CA was never authorised to issue. Both copies now check every certificate in the path including the target, waive the sec. 4.2.1.10 self-issued exemption for the final certificate as sec. 6.1.3 requires, and skip the sec. 6.1.4 (g) constraint-accumulation step for the target. This issue also affects Bouncy Castle for Java LTS before 2.73.13, which carries only the org.bouncycastle.pkix.jcajce copy of the reviewer. It also affects Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series) and 2.1.13 (2.1.X series).
Patch / fix
- Legion of the Bouncy Castle Inc. BC-JAVA 1.86
- Legion of the Bouncy Castle Inc. BC-LTS-JAVA 2.73.13
- Legion of the Bouncy Castle Inc. BC-FJA 1.0.13, 2.0.13, 2.1.13
- bouncycastle Debian 14 1.86-1
debian advisories DEBIAN-CVE-2026-71889
- bouncycastle SLES for SAP applications 16.0, SLES 16.0 1.86-160000.1.1
- bouncycastle SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +8 more 1.86-150200.3.41.1
suse advisories SUSE-SU-2026:24461-1SUSE-SU-2026:4797-1
- bouncycastle openSUSE Leap 16.0 1.86-160000.1.1
- bouncycastle openSUSE Tumbleweed 1.86-1.1
opensuse advisories openSUSE-SU-2026:22169-1openSUSE-SU-2026:12090-1
Is CVE-2026-71889 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-71889 updated cvss 7.5
org.bouncycastle/bcpkix-jdk18on: org.bouncycastle/bcpkix-fips: org.bouncycastle/bcpkix-jdk15on: org.bouncycastle/bcpkix-lts8on: bouncycastle: Bouncy Castle: Certificate validation bypass via missing n
-
Red Hat OpenShift Developer Tools and Services jenkins, jenkins-2-plugins Red Hat build of Apache Camel 4 for Quarkus 3 bcpkix-jdk18on Red Hat build of Apache Camel for Spring Boot 4 bcpkix-jdk18on Red Hat Build of Keycloak bcpkix-jdk18on, rhbk/keycloak-rhel9 Red Hat build of Quarkus bcpkix-jdk18onaffected: workaround, no fix available
-
Red Hat Ceph Storage 9 liborc, liborc2, libarrow, parquet-libsaffected: workaround, no fix available “Fix deferred”
-
Red Hat JBoss Enterprise Application Platform 7 bcpkix-jdk15on, bcpkix-jdk18on, jboss-eap-7/eap74-els-openjdk8-openshift-rhel8, jboss-eap-7/eap74-els-openjdk11-openshift-rhel8, jboss-eap-7/eap74-els-openjdk17-openshift-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-modelmesh-rhel9affected: workaround, no fix available
-
Red Hat Single Sign-On 7 bcpkix-jdk18onaffected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift Serverless openshift-serverless-1/kn-ekb-receiver-rhel9, openshift-serverless-1/kn-ekb-dispatcher-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-s3-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-sns-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-aws-sqs-sink-rhel9, openshift-serverless-1/kn-eventing-integrations-timer-source-rhel9, +3 more Red Hat AMQ Broker 7 bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001 Red Hat build of Apache Camel 4 for Quarkus 3 bcpg-jdk18on 1.86.0.redhat-00001, bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001 Red Hat build of Apache Camel for Spring Boot 4 bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001 Red Hat build of Apicurio Registry 3 bcprov-lts8on 2.73.10.redhat-00002 Red Hat Build of Keycloak bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001under investigation
+9 more productsfewer
Red Hat build of Quarkus bcutil-jdk18on 1.86.0.redhat-00001 Red Hat Enterprise Linux 9 jmc, resteasy, pki-resteasy-core, pki-resteasy-client, pki-resteasy-jackson2-provider, pki-resteasy-servlet-initializer Red Hat Fuse 7 bcprov-jdk15on 1.47, bctls-jdk18on 1.78.1, bcpg-jdk18on 1.86.0.redhat-00001, bcmail-jdk18on 1.76.0.redhat-00001, bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001 Red Hat JBoss Enterprise Application Platform 7 bcprov-jdk15on 1.47, bcpg-jdk15on 1.68.0.redhat-00005, bcpg-jdk18on 1.86.0.redhat-00001, bcmail-jdk15on 1.68.0.redhat-00005, bcmail-jdk18on 1.76.0.redhat-00001, bcprov-jdk18on 1.86.0.redhat-00001, +1 more Red Hat JBoss Enterprise Application Platform Expansion Pack bcpg-jdk18on 1.86.0.redhat-00001, bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001, bcjmail-jdk18on 1.81.0.redhat-00001 Red Hat OpenShift AI (RHOAI) rhoai/odh-spark-operator-rhel9, rhoai/odh-trustyai-service-rhel9, rhoai/odh-th06-cpu-torch210-py312-rhel9, rhoai/odh-th06-cpu-torch291-py312-rhel9, rhoai/odh-th06-rocm64-torch291-py312-rhel9, rhoai/odh-th06-cuda130-torch210-py312-rhel9, +1 more Red Hat OpenShift Dev Spaces devspaces/openvsx-rhel9, devspaces/jetbrains-ide-rhel9, devspaces/pluginregistry-rhel9 Red Hat Single Sign-On 7 rh-sso7-keycloak, rh-sso7-keycloak-server, bcpg-jdk18on 1.86.0.redhat-00001, bcmail-jdk18on 1.76.0.redhat-00001, bcprov-jdk18on 1.86.0.redhat-00001, bcutil-jdk18on 1.86.0.redhat-00001 Red Hat streams for Apache Kafka 3 bcprov-jdk18on 1.86.0.redhat-00001 -
Red Hat OpenShift Developer Tools and Services 4.12 ocp-tools-4/jenkins-rhel8 1792044326fixed: vendor fix RHSA-2026:88152
-
Red Hat OpenShift Developer Tools and Services 4.13 ocp-tools-4/jenkins-rhel8 1792044327fixed: vendor fix RHSA-2026:88149
show 13 moreshow fewer
-
Red Hat OpenShift Developer Tools and Services 4.14 ocp-tools-4/jenkins-rhel8 1792044382fixed: vendor fix RHSA-2026:88151
-
Red Hat OpenShift Developer Tools and Services 4.15 ocp-tools-4/jenkins-rhel8 1792044386fixed: vendor fix RHSA-2026:88150
-
Red Hat OpenShift Developer Tools and Services 4.16 ocp-tools-4/jenkins-rhel9 1792040287fixed: vendor fix RHSA-2026:88156
-
Red Hat OpenShift Developer Tools and Services 4.17 ocp-tools-4/jenkins-rhel9 1792040131fixed: vendor fix RHSA-2026:88159
-
Red Hat OpenShift Developer Tools and Services 4.18 ocp-tools-4/jenkins-rhel9 1792041514fixed: vendor fix RHSA-2026:88153
-
Red Hat OpenShift Developer Tools and Services 4.19 ocp-tools-4/jenkins-rhel9 1792040733fixed: vendor fix RHSA-2026:88158
-
Red Hat OpenShift Developer Tools and Services 4.20 ocp-tools-4/jenkins-rhel9 1792040081fixed: vendor fix RHSA-2026:88157
-
Red Hat OpenShift Developer Tools and Services 4.21 ocp-tools-4/jenkins-rhel9 1792040096fixed: vendor fix RHSA-2026:88155
-
Red Hat OpenShift Developer Tools and Services 4.22 ocp-tools-4/jenkins-rhel9 1792040428fixed: vendor fix RHSA-2026:88154
-
Red Hat Build of Apache Camel 3.33.4.redhat bcpkix-jdk18on 1.86.0.redhat-00001fixed: vendor fix RHSA-2026:83670
-
Red Hat build of Quarkus 3.27.6.redhat bcpkix-jdk18on 1.86.0.redhat-00001fixed: vendor fix RHSA-2026:83082
-
Red Hat build of Quarkus 3.33.4.redhat bcpkix-jdk18on 1.86.0.redhat-00001fixed: vendor fix RHSA-2026:83520
-
Red Hat JBoss EAP 8.1 for RHEL 8 eap8-neethi 3.2.4-1.redhat_00001.1.el8eap, eap8-apache-sshd 2.20.0-1.redhat_00002.1.el8eap, eap8-wildfly 8.1.9.1-1.GA_redhat_00006.1.el8eap, eap8-bouncycastle 1.86.0-1.redhat_00001.1.el8eap, eap8-bouncycastle-pg 1.86.0-1.redhat_00001.1.el8eap, eap8-ironjacamar 3.1.1-1.Final_redhat_00001.1.el8eap, +33 more Red Hat JBoss EAP 8.1 for RHEL 9 eap8-neethi 3.2.4-1.redhat_00001.1.el9eap, eap8-apache-sshd 2.20.0-1.redhat_00002.1.el9eap, eap8-wildfly 8.1.9.1-1.GA_redhat_00006.1.el9eap, eap8-bouncycastle 1.86.0-1.redhat_00001.1.el9eap, eap8-bouncycastle-pg 1.86.0-1.redhat_00001.1.el9eap, eap8-ironjacamar 3.1.1-1.Final_redhat_00001.1.el9eap, +33 morefixed: vendor fix RHSA-2026:99018
2 more fixed, 20 more not affected in the full advisory
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/U:Amber |
| CNA | 4.0 | 8.7 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Amber |
Affected products
- Legion of the Bouncy Castle Inc. BC-JAVA
- Legion of the Bouncy Castle Inc. BC-LTS-JAVA
- Legion of the Bouncy Castle Inc. BC-FJA
Classification
- Weakness
-
- CWE-295 Improper Certificate Validation
References
Sources
- CVE List CVE-2026-71889
- NVD CVE-2026-71889
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.