Skip to main content

Bouncy Castle CVE-2026-8763

| EUVDEUVD-2026-52020 CRITICAL
Improper Certificate Validation (CWE-295)
2026-08-03 bcorg GHSA-9pwp-9qqc-pr26
Critical
Disputed · 9.3 Vendor: bcorg
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain certificate under name-constrained issuer
  2. Delivery
    Craft leaf with trailing-dot rfc822Name/URI or prepended directoryName RDNs
  3. Exploit
    Present certificate chain to BC PKIX validator
  4. Execution
    Name-constraint check bypassed
  5. Impact
    Impersonate excluded or unpermitted identity

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate validation
Exploitation Conditions

Requires a relying party that uses Bouncy Castle's PKIXNameConstraintValidator (via the BC PKIX CertPathValidator or CertPathBuilder) to enforce X.509 name constraints during chain validation, and a certificate path that includes permitted/excluded subtree constraints on rfc822Name, URI, or directoryName. The attacker must be able to obtain or craft a certificate under a name-constrained issuer whose rfc822Name/URI host bears a trailing dot, or whose subject DN prepends additional RDNs before the permitted directoryName. The primary limiting factor is that the bug only has security impact where name constraints are actually depended upon for trust decisions (constrained sub-CAs, S/MIME, or GSMA SGP.22 eUICC use cases); deployments that do not use name constraints are unaffected in practice. No user interaction or authentication to the target is required (PR:N/UI:N).

Impact

The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N) drives the 9.3 Critical score and implies remote, unauthenticated, low-complexity exploitation with high confidentiality and integrity impact and no availability impact - consistent with an authentication/trust bypass rather than a crash. However, the network/no-privilege framing understates a key real-world precondition: exploitation only matters where a deployment actually relies on X.509 name constraints for trust decisions (e.g. constrained sub-CAs, S/MIME email trust, or GSMA SGP.22 eUICC provisioning), which is a specific rather than universal configuration. No EPSS score, KEV listing, or POC was provided, so despite the high CVSS this is best treated as a high-priority patch-soon library flaw rather than confirmed active mass exploitation. There is no conflicting data, but the absence of EPSS/KEV signals means exploitation likelihood cannot be independently quantified.

Exploit ScenarioDerived

An attacker who controls or obtains a name-constrained certificate (e.g. a sub-CA permitted only for bank.com, or excluded from competitor.example) issues or presents a leaf certificate whose rfc822Name or URI host carries a trailing dot ('user@bank.com.' or 'https://competitor.example./'), or whose subject prepends attacker RDNs before a permitted directoryName. A relying Java application using BC's CertPathValidator accepts the chain because the constraint check is bypassed, letting the attacker impersonate a protected identity or domain. No public POC is currently identified, but the low attack complexity (simply appending a dot) makes weaponisation straightforward once a constrained PKI is targeted.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 03, 2026

Certificate name-constraint bypass in Bouncy Castle for Java allows a crafted certificate to escape X.509 permitted/excluded subtree restrictions by appending a trailing dot to an rfc822Name (email) or URI host, or by prepending RDNs ahead of a permitted directoryName. Any relying party using BC's PKIXNameConstraintValidator (via CertPathValidator/CertPathBuilder) to enforce name constraints can be tricked into trusting an identity a constrained CA was never authorized to issue, enabling impersonation and effective authentication bypass. There is no public exploit identified at time of analysis, but the vendor rates it 9.3 (Critical) and a fix is available.

RemediationAI

Apply the vendor-released patch: upgrade bc-java to 1.85, bc-lts-java to 2.73.12, or BC-FJA/bc-fips to 1.0.2.7 (1.0.X), 2.0.2 (2.0.X), or 2.1.3 (2.1.X) depending on your series; the fix is in commit 2c28b253a44681fbbc562561eab6ad383d2ae558 and documented at https://github.com/bcgit/bc-java/wiki/CVE-2026-8763. FIPS-validated deployments must use the corresponding bc-fips release to preserve certification. If you cannot upgrade immediately, the practical compensating control is to avoid relying solely on BC's name-constraint enforcement for trust boundaries - for example, tighten or avoid deploying name-constrained sub-CAs whose security depends on this check, and add independent post-validation checks that canonicalise (strip trailing dots) rfc822Name/URI/dNSName values and reject non-prefix directoryName matches before accepting a certificate; the trade-off is added custom validation code and potential false rejections of legitimately trailing-dot-formatted names. Note that the relaxed directoryName anywhere-match needed for GSMA SGP.22 remains available only behind the explicit Properties.X509_SGP22_NAME_CONSTRAINTS flag after patching.

Affected VersionsENISA

BC-LTS-JAVA 2.73.0 <2.73.12
BC-FJA 2.1.0 <2.1.3
BC-JAVA 0 <1.85
BC-FJA 2.0.0 <2.0.2
BC-FJA 1.0.0 <1.0.2.7

Affected Packages

maven org.bouncycastle:bc-fips fix: 1.0.2.7, 2.0.2, 2.1.3
maven org.bouncycastle:bcprov-jdk15to18 fix: 1.85
maven org.bouncycastle:bcprov-jdk18on fix: 1.85
maven org.bouncycastle:bcprov-lts8on fix: 2.73.12
euvd bc_fja fix: 1.0.2.7, 2.0.2, 2.1.3
euvd bc_java fix: 1.85
euvd bc_lts_java fix: 2.73.12

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 7 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw lives in org.bouncycastle.asn1.x509.PKIXNameConstraintValidator, the component that enforces RFC 5280 §4.2.1.10 X.509 Name Constraints during PKIX path validation. The root cause is CWE-295 (Improper Certificate Validation): the validator canonicalised the dNSName path by stripping the RFC 1034 root-label trailing dot but did not apply the same normalisation to the rfc822Name host or URI host, so 'user@bank.com.' and 'competitor.example.' were treated as distinct from the 'bank.com'/'competitor.example' constraint and slipped past excluded/permitted subtree checks. The same commit also tightens directoryName matching, which previously searched for the constraint's first RDN at any offset, letting an attacker prepend RDNs (e.g. C=FR,O=Attacker,C=US,O=TrustedOrg,CN=x judged inside permitted subtree C=US,O=TrustedOrg). Affected CPEs are bc-java, bc-lts-java, and bc-fja (the FIPS build).

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)
Vendor (bcorg) PRIMARY 9.3 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
vuln.today AI 9.1 CRITICAL

Remotely presentable crafted certificate with no auth or interaction (AV:N/PR:N/UI:N); low complexity since a trailing dot suffices (AC:L); trust bypass compromises confidentiality and integrity but not availability.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 7.4 HIGH

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

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

In Bouncy Castle for Java before 1.85, Name Constraints bypass via trailing dot in rfc822Name and URI. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bc-fips 1.0.2.7 (1.0.X series), 2.0.2 (2.0.X series) and 2.1.3 (2.1.X series).

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 16 maven packages depend on org.bouncycastle:bc-fips (6 direct, 10 indirect)
  • 13 maven packages depend on org.bouncycastle:bcprov-jdk15to18 (3 direct, 10 indirect)
  • 5,434 maven packages depend on org.bouncycastle:bcprov-jdk18on (559 direct, 4,900 indirect)
  • 52 maven packages depend on org.bouncycastle:bcprov-lts8on (9 direct, 46 indirect)

Ecosystem-wide dependent count for version 2.0.0 and other introduced versions.

Executive ViewAI

Why It Matters

Bouncy Castle's certificate validation module in Java environments can be circumvented to allow forged certificates, creating a pathway for threat actors to impersonate trusted entities and gain unauthorized system access. Because certificate validation is foundational to security infrastructure, this vulnerability could undermine authentication controls across systems that depend on Bouncy Castle. Organizations must immediately identify affected systems and apply available patches.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
High
Bouncy Castle is one of the most widely deployed Java cryptography libraries
Threat Intel
1
1 sources
Data Quality
8 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Out-of-Cycle
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Very High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +46
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

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

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy