CVE-2026-71888 json
CMS AuthenticatedData exposes attacker-inserted authAttrs when digestAlgorithm is absent
published 2026-10-03 36 d ago modified 2026-10-06 33 d ago also EUVD-2026-91991
- cvss
- 8.7
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 1%
- public exploits
- 0
- none known
Summary
In Bouncy Castle for Java before 1.86, the streaming CMS AuthenticatedData parser accepted a message whose digestAlgorithm and authAttrs fields disagreed about whether authenticated attributes were present. RFC 5652 sec. 9.1 pairs the two, requiring that authAttrs be present whenever digestAlgorithm is, and sec. 9.2 makes the MAC cover the DER encoding of authAttrs when they are present and the eContent OCTET STRING directly when they are not. CMSAuthenticatedDataParser has to choose between those two in its constructor, before it can reach authAttrs, which comes later in the SEQUENCE, so it chose on digestAlgorithm alone: for a message with digestAlgorithm absent but authAttrs present it verified the content MAC and then returned the attributes through getAuthAttrs() as though they had been authenticated, when the MAC had never covered them. An attacker able to modify a message in transit could insert an authenticated attribute, such as an RFC 2634 ESSSecurityLabel, into an otherwise valid message while holding neither the key-encryption key nor the content-MAC key, and an application taking an authorization, routing or labelling decision from those attributes would act on attacker-chosen values. The content itself remained MAC-bound. asn1.cms.AuthenticatedData now rejects the mismatched pairing when parsing and CMSAuthenticatedDataParser cross-checks the two fields once authAttrs is read. This is a variant of CVE-2026-59642, which bound the content to the MAC for messages that legitimately carry authAttrs, and which does not address this case. This issue also affects Bouncy Castle for Java LTS before 2.73.13, and 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), and bcutil-fips 2.0.8 (2.0.X series) and 2.1.8 (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.8, 2.0.13, 2.1.8, 2.1.13
- bouncycastle Debian 14 1.86-1
debian advisories DEBIAN-CVE-2026-71888
- 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
Vendor 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-71888 updated cvss 7.5
bouncycastle: bouncycastle-fips: Bouncy Castle: Security bypass via unvalidated attributes in CMS AuthenticatedData parser
-
Red Hat Ansible Automation Platform 2 ansible-automation-platform-27/de-supported-rhel9 Red Hat OpenShift AI (RHOAI) rhoai/odh-modelmesh-rhel9 Red Hat OpenShift Dev Spaces devspaces/openvsx-rhel9, devspaces/jetbrains-ide-rhel9, devspaces/pluginregistry-rhel9affected: workaround, no fix available
-
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
-
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
show 8 moreshow fewer
-
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 OpenShift Developer Tools and Services jenkins, jenkins-2-plugins Red Hat OpenShift Developer Tools and Services 4.12 ocp-tools-4/jenkins-agent-base-rhel8 1792044376 Red Hat OpenShift Developer Tools and Services 4.13 ocp-tools-4/jenkins-agent-base-rhel8 1792044361 Red Hat OpenShift Developer Tools and Services 4.14 ocp-tools-4/jenkins-agent-base-rhel8 1792044402 Red Hat OpenShift Developer Tools and Services 4.15 ocp-tools-4/jenkins-agent-base-rhel8 1792044379 Red Hat OpenShift Developer Tools and Services 4.16 ocp-tools-4/jenkins-agent-base-rhel9 1792040156not affected: vulnerable code not present
+7 more productsfewer
Red Hat OpenShift Developer Tools and Services 4.17 ocp-tools-4/jenkins-agent-base-rhel9 1792040149 Red Hat OpenShift Developer Tools and Services 4.18 ocp-tools-4/jenkins-agent-base-rhel9 1792041201 Red Hat OpenShift Developer Tools and Services 4.19 ocp-tools-4/jenkins-agent-base-rhel9 1792040114 Red Hat OpenShift Developer Tools and Services 4.20 ocp-tools-4/jenkins-agent-base-rhel9 1792040274 Red Hat OpenShift Developer Tools and Services 4.21 ocp-tools-4/jenkins-agent-base-rhel9 1792039948 Red Hat OpenShift Developer Tools and Services 4.22 ocp-tools-4/jenkins-agent-base-rhel9 1792040297 Red Hat AMQ Broker 7 bcpkix-jdk18on, bcutil-jdk18on -
Red Hat Ansible Automation Platform 2 ansible-automation-platform-27/de-minimal-rhel9not affected: vulnerable code not in execute path
-
Red Hat build of Apache Camel 4 for Quarkus 3 bcpkix-jdk18on, bcutil-jdk18on Red Hat build of Apache Camel for Spring Boot 4 bcpkix-jdk18on, bcutil-jdk18on Red Hat Build of Keycloak bcpkix-jdk18on, bcutil-jdk18on, rhbk/keycloak-rhel9 Red Hat build of Quarkus bcpkix-jdk18on, bcutil-jdk18on Red Hat Ceph Storage 9 liborc, liborc2, libarrow, parquet-libs Red Hat Enterprise Linux 8 resteasy, resteasy-javadocnot affected: vulnerable code not present
+5 more productsfewer
Red Hat Enterprise Linux 9 resteasy, pki-resteasy-core, pki-resteasy-client, pki-resteasy-jackson2-provider, pki-resteasy-servlet-initializer Red Hat Fuse 7 bcpkix-jdk15on, bcpkix-jdk18on, bcutil-jdk18on, bcpkix-jdk15to18 Red Hat JBoss Enterprise Application Platform 7 bcpkix-jdk15on, bcpkix-jdk18on, bcutil-jdk18on, jboss-eap-7/eap74-els-openjdk8-openshift-rhel8, jboss-eap-7/eap74-els-openjdk11-openshift-rhel8, jboss-eap-7/eap74-els-openjdk17-openshift-rhel8 Red Hat JBoss Enterprise Application Platform 8 bcpkix-jdk18on, bcutil-jdk18on Red Hat JBoss Enterprise Application Platform Expansion Pack bcpkix-jdk18on, bcutil-jdk18on -
Red Hat Satellite 6 candlepin, candlepin-selinuxnot affected: vulnerable code not in execute path
1 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
- 34 d ago
Exploit prediction
0.11% chance of exploitation in the next 30 days, higher than 1% of all scored CVEs (FIRST EPSS, 2026-11-08).
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-354 Improper Validation of Integrity Check Value
References
Sources
- CVE List CVE-2026-71888
- NVD CVE-2026-71888
Fencer Vulns 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.