Bouncy Castle is a widely used Java crypto/TLS library; default hostname-verification fallback enables broad MITM risk across many enterprise apps.
CVE-2026-59638
Bouncy Castle JSSE CN-fallback enabled by default, allowing TLS hostname verification bypass.
Is CVE-2026-59638 being exploited?
Not confirmed. CVE-2026-59638 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.21% probability of exploitation in the next 30 days.
How severe is CVE-2026-59638?
CVE-2026-59638 is rated Critical with a CVSS score of 9.3. 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-59638?
Yes. A fix has been recorded for CVE-2026-59638. The vendor advisory is the authority on the exact fixed version — apply it from there rather than from a summary.
What does CVE-2026-59638 affect?
CVE-2026-59638 affects Bouncy Castle for Java < 1.85, Bouncy Castle for Java LTS < 2.73.12, Bouncy Castle for Java FIPS (bctls-fips) < 1.0.24, < 2.0.24, < 2.1.24. Confirm the exact affected versions against the vendor advisory before deciding you are exposed.
What should I do about CVE-2026-59638?
Upgrade to BC Java 1.85 / LTS 2.73.12 / FIPS fixed releases; disable CN-fallback where configurable.
Exploitation status reflects CISA's KEV catalog as we last synced it. Check the catalog directly.
TLS hostname verification bypass via CN-fallback in JSSE, enabling MITM attacks, data interception and credential theft.
Immediate action required
- affected>= 1.0.7 and < 1.0.24
- affected>= 2.0.0 and < 2.0.24
- affected>= 2.1.0 and < 2.1.24
- affected>= 1.61 and < 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.