Bouncy Castle is a widely used Java crypto library; this flaw lets attackers inject unauthenticated CMS attributes that can affect authorization/routing across many applications.
CVE-2026-71888
Bouncy Castle CMS parser allows injection of unauthenticated attributes
Is CVE-2026-71888 being exploited?
Not confirmed. CVE-2026-71888 does not appear in CISA's Known Exploited Vulnerabilities catalog, which records only exploitation that has been observed and reported publicly. That is evidence of absence of a report, not evidence the flaw is unattacked.
How severe is CVE-2026-71888?
CVE-2026-71888 is rated High with a CVSS score of 8.7. Severity describes how bad exploitation would be, not how likely it is: pair it with exploitation evidence before deciding what to patch first.
Is there a patch for CVE-2026-71888?
Yes. A fix has been recorded for CVE-2026-71888. The vendor advisory is the authority on the exact fixed version — apply it from there rather than from a summary.
What does CVE-2026-71888 affect?
CVE-2026-71888 affects Bouncy Castle for Java < 1.86, Bouncy Castle Java LTS < 2.73.13, BC-FJA (bcpkix-fips) before 1.0.13/2.0.13/2.1.13, bcutil-fips before 2.0.8/2.1.8. Confirm the exact affected versions against the vendor advisory before deciding you are exposed.
What should I do about CVE-2026-71888?
Upgrade to fixed releases (>=1.86; LTS >=2.73.13; applicable FIPS/bcutil fixes)
Exploitation status reflects CISA's KEV catalog as we last synced it. Check the catalog directly.
MitM can insert spoofed CMS authAttrs not covered by the MAC, enabling unauthorized routing/authorization/labeling decisions.
Immediate action required
- affected>= 1.0.0 and < 1.0.13
- affected>= 2.0.0 and < 2.0.13
- affected>= 2.1.0 and < 2.1.13
- affected>= 2.0.0 and < 2.0.8
- affected>= 2.1.0 and < 2.1.8
- affected< 1.86
- affected>= 1.70 and < 1.86
- affected>= 2.73.0 and < 2.73.13
As published in the CVE Program record. A version outside these ranges is not a statement that it is unaffected — vendors sometimes understate a range, and distribution-backported builds carry upstream numbers that do not reflect what was patched into them.