Bouncy Castle is a widely used Java crypto library; an integrity bypass in CMS can affect many apps, S/MIME and PKI flows across enterprises.
CVE-2026-59642
Bouncy Castle CMS AuthenticatedData MAC not bound to content, enabling message forgery.
Is CVE-2026-59642 being exploited?
Not confirmed. CVE-2026-59642 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. EPSS currently estimates a 0.15% probability of exploitation in the next 30 days.
How severe is CVE-2026-59642?
CVE-2026-59642 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-59642?
Yes. A fix has been recorded for CVE-2026-59642. The vendor advisory is the authority on the exact fixed version — apply it from there rather than from a summary.
What does CVE-2026-59642 affect?
CVE-2026-59642 affects Bouncy Castle for Java < 1.85, Bouncy Castle for Java LTS < 2.73.12, BC-FJA bcpkix-fips < 1.0.12 / 2.0.12 / 2.1.12. Confirm the exact affected versions against the vendor advisory before deciding you are exposed.
What should I do about CVE-2026-59642?
Upgrade to BC Java >=1.85 or LTS>=2.73.12 / FIPS fixed releases; rebuild dependent apps.
Exploitation status reflects CISA's KEV catalog as we last synced it. Check the catalog directly.
Allows forging or modification of CMS AuthenticatedData that bypasses MAC verification, enabling message tampering and spoofing in S/MIME/PKI flows.
Patch when possible
- affected>= 1.0.0 and < 1.0.12
- affected>= 2.0.0 and < 2.0.12
- affected>= 2.1.0 and < 2.1.12
- affected< 1.85
- affected>= 2.73.0 and < 2.73.12
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.