Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain man-in-the-middle position on client-server path
-
DeliveryObtain SAN-less cert with CN naming target host
-
ExploitPresent cert during TLS handshake to BCJSSE client
-
ExecutionCN-fallback default-on accepts host mismatch
-
PersistEstablish intercepted TLS session
-
ImpactRead and modify confidential traffic
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate host validation
|
| Exploitation Conditions | Exploitation requires (1) the target application to use the Bouncy Castle JSSE provider (BCJSSE) for TLS with hostname/endpoint identification enabled - not the stock JDK JSSE; (2) an active man-in-the-middle / traffic-interception position between client and legitimate server; and (3) a certificate that validates up the trust chain but contains no matching SAN dNSName, whose Subject CN equals the victim host - practically achievable where a dNSName-name-constrained subordinate CA can mint a SAN-less leaf, since X.509 name constraints only constrain SAN entries of the constrained type. The vulnerable default is the CN-fallback gate defaulting ON (property org.bouncycastle.jsse.client.checkCnFallback / JSSE_HOSTNAME_CHECK_CN_FALLBACK). Limiting factors: does not affect apps that only use the JDK's built-in JSSE; requires a network interception position (not a plain remote packet); requires obtaining/crafting the specific SAN-less CN-matching certificate; and is neutralized if the operator had already set the property to false. |
| Impact | The signals are mixed and warrant nuance. The published CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N/VC:H/VI:H/VA:N, base 9.3) implies trivially remote, unauthenticated, high-confidentiality-and-integrity impact, but that scoring understates the real preconditions: exploiting a hostname-verification weakness is fundamentally a man-in-the-middle attack, which requires an interception position AND a trust-chain-valid but SAN-less certificate whose CN matches the target - not a condition satisfiable by simply sending a packet. In practice AC should be higher than the vendor's AC:L, so the effective risk is lower than the 9.3 suggests. Reinforcing the lower-urgency read: there is no EPSS score provided, no CISA KEV listing, and no public exploit identified at time of analysis - the only public code is the vendor's own regression test, which demonstrates the defaulting bug but is not a weaponized exploit. The offsetting factor is exposure blast radius: Bouncy Castle is extremely widely embedded in Java software, so any deployment that actually uses the BCJSSE provider for TLS client verification silently lost a defense-in-depth control. Net: treat as a meaningful supply-chain/crypto-hygiene patch to schedule promptly, not an emergency drop-everything (no active exploitation, MITM-gated), unless you operate in an environment where attacker path-of-network-position is plausible (hostile networks, PKI with delegated/constrained sub-CAs). |
| Exploit ScenarioDerived | An attacker on the network path between a Java client (using BCJSSE) and its intended TLS server - for example on a shared Wi-Fi, a compromised router, or via BGP/DNS redirection - presents a certificate that chains to a trusted (possibly name-constrained) CA but carries no SAN, with the Subject CN set to the target hostname. Because CN fallback is on by default, HostnameUtil accepts the mismatch, the TLS handshake completes, and the attacker transparently intercepts and can modify the supposedly authenticated traffic. No public exploit is identified at time of analysis; only the vendor's regression test demonstrates the defaulting behavior. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 03, 2026
TLS hostname-verification bypass in the Bouncy Castle for Java JSSE provider (BCJSSE) ships the legacy certificate-CN fallback enabled by default, even though the vendor documentation states it is opt-in and gated behind the org.bouncycastle.jsse.client.checkCnFallback property. Affected are BC-Java before 1.85, BC-LTS before 2.73.12, and BC-FJA (FIPS) TLS module bctls-fips before 1.0.24, 2.0.24 and 2.1.24; a MITM-positioned attacker can present a SAN-less certificate whose Subject CN names the victim host and have it silently accepted, defeating name-constraint protections and enabling interception of TLS traffic (CWE-297). This carries a CVSS 4.0 base of 9.3, but there is no public exploit identified at time of analysis and it is not in CISA KEV.
RemediationAI
Vendor-released patch: upgrade to Bouncy Castle for Java 1.85 or later; for the LTS line upgrade to 2.73.12 or later; for BC-FJA (FIPS) upgrade the TLS module bctls-fips to 1.0.24 (1.0.X), 2.0.24 (2.0.X) or 2.1.24 (2.1.X) as appropriate to your series. The fix restores the intended default by changing the guard from Properties.isOverrideSet(JSSE_HOSTNAME_CHECK_CN_FALLBACK, true) to Properties.isOverrideSet(JSSE_HOSTNAME_CHECK_CN_FALLBACK), so CN fallback is now OFF unless explicitly enabled (see commits https://github.com/bcgit/bc-java/commit/799bd15320a6310a447863638aa3df64acef829b and https://github.com/bcgit/bc-java/commit/5ac55351cd1a8a7184d41c96a7ee87df0770240a and advisory https://github.com/bcgit/bc-java/wiki/CVE-2026-59638). If you cannot upgrade immediately, the effective workaround on affected versions is to explicitly set the system property org.bouncycastle.jsse.client.checkCnFallback (Properties.JSSE_HOSTNAME_CHECK_CN_FALLBACK) to "false" to force the fallback off; the side effect is negligible for correctly-issued certificates because modern CAs populate SAN, though any legacy peer relying on CN-only certificates will fail verification (which is the desired secure behavior). Ensure endpoint identification ("HTTPS" algorithm) remains enabled so hostname checks are actually performed.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is the Bouncy Castle JSSE provider (org.bouncycastle.jsse.provider.HostnameUtil), a pure-Java TLS/JSSE implementation used as a drop-in JSSE provider for endpoint identity checking during TLS handshakes. Modern hostname verification is supposed to match only Subject Alternative Name (SAN) dNSName entries; the historic practice of falling back to the certificate Subject Common Name (CN) when no SAN is present is deprecated (RFC 6125) and, per Bouncy Castle docs, meant to be off unless the operator opts in via Properties.JSSE_HOSTNAME_CHECK_CN_FALLBACK. The root cause (CWE-297, Improper Validation of Certificate with Host Mismatch) is a defaulting bug: the guard called Properties.isOverrideSet(..., true), whose second argument makes the property default to enabled, so CN fallback ran even when unset. Per the vendor's own regression test, this is significant because the CN fallback is a Name-Constraints bypass surface - X.509 name constraints only constrain SAN entries of the constrained type, so a dNSName-constrained sub-CA can issue a SAN-less leaf whose CN names an unrelated host, and CN matching would accept it. The CPEs confirm three affected product lines: cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-java, :bc-lts-java, and :bc-fja.
Know when Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Sources disagree (Medium–Critical)CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/U:Amber
Hostname-verification bypass is inherently MITM-gated and needs a crafted SAN-less CN-matching cert, so AC:H; no auth or user interaction (PR:N/UI:N); interception yields high confidentiality and integrity, no availability impact.
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: bcorg
DescriptionCVE.org
In Bouncy Castle for Java before 1.85, JSSE hostname verifier CN-fallback enabled by default despite documented opt-in. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bctls-fips 1.0.24 (1.0.X series), 2.0.24 (2.0.X series) and 2.1.24 (2.1.X series).
Articles & Coverage 1
Executive ViewAI
Bouncy Castle for Java (BC-Java, BC-LTS, BC-FJA) versions prior to 1.85, 2.73.12, and 2.1.24 contain a critical TLS verification defect permitting man-in-the-middle attackers to bypass encryption and intercept traffic. Applications built on affected versions expose encrypted data and credentials to network-based interception, representing immediate risk to data confidentiality and regulatory compliance.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Related Vulnerabilities in Bouncy Castle for Java Cryptographic Vulnerabilities
View all 23Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-52016
GHSA-8rxj-3p7p-rq39
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB