Intel

AIKIDO-2026-76591

bctls-jdk14 is vulnerable to Improper Certificate Validation

Improper Certificate ValidationCVE-2026-59638 Published 3 days ago

78

High Risk

This Affects:

JAVAbctls-jdk14
1.61 - 1.84
Fixed in 1.85
Are you affected? Scan for Free

TL;DR

HostnameUtil gates the JSSE hostname verifier's 'match CN when no dNSName SAN exists' fallback with Properties.isOverrideSet(JSSE_HOSTNAME_CHECK_CN_FALLBACK, true), and the two-argument form returns that default when the property is unset. Documentation says the unset default must disable the fallback, but every deployment that does not explicitly set the property to false therefore keeps CN-fallback active. RFC 5280 name constraints only constrain SAN entries of the constrained type, so a leaf with no dNSName SAN can pass a dNSName-constrained chain while HostnameUtil still accepts an attacker-chosen CN that matches the target hostname, weakening TLS hostname verification. The fix calls the single-argument isOverrideSet so CN-fallback stays disabled unless the property is explicitly enabled.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application uses the Bouncy Castle JSSE provider for TLS hostname verification without explicitly setting JSSE_HOSTNAME_CHECK_CN_FALLBACK to false.

Background info

bctls-jdk14 is vulnerable to Improper Certificate Validation in versions 1.61 - 1.84.

How to fix this

Upgrade the org.bouncycastle:bctls-jdk14 library to the patch version.