Skip to main content

Bouncy Castle Java EUVDEUVD-2026-52023

| CVE-2026-59651 HIGH
Inadequate Encryption Strength (CWE-326)
2026-08-03 bcorg GHSA-mwmr-38hj-q7gm
7.1
CVSS 4.0 · Vendor: bcorg
View

Attack ChainAIDerived

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

  1. Access
    Gain write or supply-chain access to keystore file
  2. Delivery
    Downgrade on-disk version field to v0/1
  3. Exploit
    Brute-force 16-bit HMAC key offline
  4. Execution
    Forge valid integrity MAC over modified keystore
  5. Persist
    Inject rogue trusted certificate into store
  6. Impact
    Application loads tampered keystore without error

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Encryption strength requirements
Exploitation Conditions

Exploitation requires the attacker to supply, replace, or tamper with a BKS keystore file that the target application subsequently loads via the default BKS keystore type in an unpatched Bouncy Castle version. The target application must use Bouncy Castle's BKS provider specifically (not SunJKS or PKCS12 formats), and the keystore on disk must be in legacy version 0 or 1 format or the attacker must be able to overwrite the unauthenticated version field to downgrade a version 2 store. Exploitation is further limited to scenarios where the attacker holds write access to the keystore storage path, can intercept keystore retrieval from a network source, or can influence the keystore through supply chain means. Applications that load BKS keystores exclusively from read-only, integrity-protected local storage (e.g., embedded in a signed JAR, protected by OS file ACLs) face substantially reduced practical risk. Authentication requirements are not determinable from CVSS alone, as the PR:N metric reflects that no application-level credentials are needed to supply the file, not that the attacker faces no barriers.

Impact

The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H) reflects a high integrity impact with no confidentiality or availability consequence, and requires passive user interaction - meaning an operator or application must load the crafted keystore. The real-world attack complexity is substantially higher than AC:L implies in isolation: exploitation requires the attacker to first place or tamper with the specific BKS keystore file that the target application loads, which typically demands supply chain access, write access to a deployment environment, or MITM positioning on a network-retrieved keystore. Once file access is achieved, the 16-bit brute-force is trivially fast and forging the MAC is straightforward. No public exploit code and no CISA KEV listing exist at time of analysis, making this a low-urgency but legitimate integrity-bypass risk. Applications loading BKS keystores exclusively from read-only, integrity-protected local storage (e.g., bundled inside a JAR with verified checksums) face substantially lower practical exposure than those loading from network paths or user-influenced locations.

Exploit ScenarioDerived

An attacker with write access to a server's BKS keystore file (obtained via misconfigured permissions, supply chain compromise, or interception of a network-fetched keystore) downgrades the version field to v0/1 and brute-forces the 16-bit HMAC key offline in under a second across all 65,536 possible values. The attacker recomputes a valid integrity MAC over a modified keystore containing a rogue trusted certificate authority, causing the target Java application running unpatched Bouncy Castle to silently trust the injected CA and enabling subsequent TLS interception or code-signing bypass. No public proof-of-concept exploit has been identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 03, 2026

Bouncy Castle for Java's BKS keystore implementation silently accepted legacy version 0/1 keystores that derive a critically weak 16-bit HMAC integrity key - brute-forceable offline in milliseconds against the 65,536-value keyspace - allowing an attacker who can supply or tamper with a keystore file to forge the integrity MAC, inject rogue trusted certificates, and have the manipulated keystore accepted without error. All bc-java releases before 1.85 and bc-lts-java releases before 2.73.12 are affected. No public exploit code has been identified and this vulnerability does not appear in the CISA KEV catalog at time of analysis.

RemediationAI

Upgrade bc-java to version 1.85 or later, or bc-lts-java to version 2.73.12 or later; these are the exact fix versions confirmed by the vendor advisory at https://github.com/bcgit/bc-java/wiki/CVE-2026-59651 and the upstream patch commit at https://github.com/bcgit/bc-java/commit/faf5daa6e9b8460f862afc0af1cc0da365f7d4d2. After upgrading, the default BKS keystore type will throw an IOException when a legacy version 0/1 keystore is encountered, preventing silent acceptance of weakly-MAC'd stores. Applications that legitimately require reading or migrating legacy v0/1 keystores may opt in by setting the system or security property org.bouncycastle.bks.enable_v1 (also exposed as Properties.BKS_ENABLE_V1), but this opt-in should be used only transiently during migration and then disabled. As a compensating control prior to patching, restrict OS-level filesystem permissions on all BKS keystore files to prevent unauthorized modification, and avoid loading keystores from network-accessible, user-supplied, or writable paths - this directly eliminates the attacker's prerequisite file-access step.

Affected VersionsENISA

BC-LTS-JAVA 2.73.0 <2.73.12
BC-JAVA 0 <1.85

Affected Packages

euvd bc_java fix: 1.85
euvd bc_lts_java fix: 2.73.12

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 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 BKS (Bouncy Castle Keystore) format uses an HMAC to guarantee on-disk integrity. In legacy format versions 0 and 1, the HMAC key was derived using only the digest size expressed in bits rather than bytes - for SHA-1 this produces a 16-bit (2-byte) effective key instead of the expected 160-bit key, a factor-of-10 reduction in security that collapses the keyspace to 65,536 values. This root cause maps to CWE-326 (Inadequate Encryption Strength). CVE-2018-5382 originally identified this weakness and the version 2 format was introduced to write a full-length key; however, as the commit diff confirms, the load path continued to honor the unauthenticated version field read from the file, meaning an attacker could present or rewrite a keystore with a downgraded version field, brute-force the 16-bit key offline, and forge a valid MAC over modified content. Affected CPEs are cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-java:*:*:*:*:*:*:*:* and cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-lts-java:*:*:*:*:*:*:*:*.

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

Vendor (bcorg) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/U:Amber
vuln.today AI 6.5 MEDIUM

Keystore can be delivered over a network path (AV:N); 16-bit brute-force is trivial once file access exists (AC:L); operator or application must load the crafted file (UI:R); integrity impact only.

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

Primary rating from Vendor (bcorg).

CVSS VectorVendor: bcorg

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
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, BKS keystore accepts legacy version with 16-bit integrity MAC key. This issue also affects Bouncy Castle for Java LTS before 2.73.12.

Executive ViewAI

Why It Matters

Bouncy Castle for Java (bc-java before 1.85 and bc-lts-java before 2.73.12) contains a keystore integrity validation flaw enabling attackers with file access to inject malicious certificates without detection, compromising encrypted communications and authentication systems. This affects any organization using these libraries for TLS/SSL or certificate validation and requires immediate patching.

Business Impact: High
Compensating Controls

Apply vendor patch. Pending patching, implement strict file access controls on keystores, validate keystores through external trusted sources, disable legacy keystore format support if possible, and monitor for unexpected certificate additions or modifications in security logs.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
High
widely used Java cryptography library across enterprise and Android ecosystems
Data Quality
8 sources
Confidence: High
EUVD 🇯🇵JVN NVD CVE.org EPSS Vulnrichment 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 HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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