Skip to main content

Bouncy Castle Java CVE-2026-58060

| EUVDEUVD-2026-52091 HIGH
Memory Allocation with Excessive Size Value (CWE-789)
2026-08-03 bcorg GHSA-3q78-fqj5-g3mc
8.7
CVSS 4.0 · Vendor: bcorg
View

Attack ChainAIDerived

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

  1. Access
    Send crafted HTTP/network request with oversized-L HSS public key
  2. Delivery
    Bouncy Castle parser reads L value without RFC 8554 bounds check
  3. Exploit
    Unbounded memory allocation attempted in JVM heap
  4. Execution
    Heap exhaustion triggers OutOfMemoryError
  5. Impact
    Application process crash or sustained denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
Exploitation Conditions

Exploitation requires that the target application uses a vulnerable version of bc-java (before 1.85), bc-lts-java (before 2.73.12), or bc-fja (before 2.0.2 or 2.1.3), AND that the application parses or verifies HSS/LMS public keys sourced from attacker-controlled input - such as an API accepting PEM/DER-encoded post-quantum keys, a TLS stack validating HSS-based certificates, or any deserialization path that reaches HSSPublicKeyParameters.getInstance(). Applications using Bouncy Castle solely for RSA, ECDSA, AES, or other non-HSS algorithms are not affected. No authentication is required (PR:N per CVSS 4.0 vector), and no non-default server configuration is needed beyond the application having an HSS key-acceptance code path reachable from the network. Exploitation is limited in breadth by HSS/LMS not yet being a mainstream algorithm in production deployments.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N, score 8.7) describes a remotely exploitable, low-complexity, unauthenticated denial-of-service with no confidentiality or integrity impact. The U:Amber urgency modifier signals a meaningful but not emergency-tier threat. No EPSS score was provided in the input data, so exploitation probability is unknown. No CISA KEV listing exists, confirming no observed active exploitation at time of analysis. Real-world risk is meaningfully constrained by one factor: the vulnerable code path is in the HSS/LMS post-quantum signature implementation, which - while increasingly adopted - is still far less prevalent in production workloads than RSA or ECDSA paths. Applications using Bouncy Castle exclusively for classical algorithms are unaffected. However, for services that do process external HSS/LMS public keys (e.g., post-quantum TLS experiments, PQC certificate validation, or research-grade PKI), the attack is trivially reproducible from the network without credentials, making it a genuine priority for those deployments.

Exploit ScenarioDerived

An attacker submits a network request to a service that accepts HSS/LMS public keys for verification - such as a post-quantum certificate validation endpoint or a PQC-enabled signing API - embedding a crafted key with an L value far exceeding the RFC 8554 maximum of 8. When Bouncy Castle's parser ingests the key without bounds validation, it attempts to allocate memory proportional to the malicious L value, rapidly exhausting the JVM heap. The result is an OutOfMemoryError or severe garbage collection pressure, crashing or hanging the service. No public exploit code has been identified at time of analysis, but constructing the malicious byte sequence requires only basic knowledge of the HSS key encoding format.

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

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

Alert me

AnalysisAIv1 – Aug 03, 2026

Uncontrolled memory allocation in Bouncy Castle for Java's HSS public-key parser allows remote unauthenticated attackers to exhaust JVM heap memory by supplying a crafted public key with an arbitrarily large HSS level count (L value), causing denial of service during signature verification. All three product lines are affected: bc-java before 1.85, bc-lts-java before 2.73.12, and BC-FIPS (bc-fja) before 2.0.2/2.1.3 depending on series. No public exploit has been identified at time of analysis and no CISA KEV listing exists, but the AV:N/AC:L/PR:N attack profile and Bouncy Castle's ubiquity as a Java crypto dependency make this a credible availability risk for any service accepting external HSS/LMS key material.

RemediationAI

Upgrade to the patched releases: bc-java 1.85 or later, bc-lts-java 2.73.12 or later, bc-fja 2.0.2 (for 2.0.X deployments) or 2.1.3 (for 2.1.X deployments). The fix commits are available at https://github.com/bcgit/bc-java/commit/311cabbb6fcead7647fec16681423a4439118276 and https://github.com/bcgit/bc-java/commit/6c9f30b3fdaa3f2140809278caebbffc55920922; upgrading to an official tagged release is strongly preferred over applying patches manually. If patching is not immediately possible, the most effective compensating control is to reject or sanitize HSS/LMS public key material before it reaches Bouncy Castle's parser - for example, enforcing a maximum byte-length cap on inbound key blobs at the API or network boundary, which prevents oversized L values from being submitted. Be aware this control requires application-level changes and does not address unknown LMS/OTS type-code abuse covered by the same fix.

Affected VersionsENISA

BC-LTS-JAVA 2.73.0 <2.73.12
BC-FJA 2.0.0 <2.0.2
BC-FJA 2.1.0 <2.1.3
BC-JAVA 1.65 <1.85

Affected Packages

euvd bc_fja fix: 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 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

Bouncy Castle for Java is one of the most widely-used cryptographic provider libraries in the Java ecosystem, implementing a broad range of algorithms including post-quantum schemes. The affected code implements HSS (Hierarchical Signature Scheme) and its underlying LMS (Leighton-Micali Signature) as specified in RFC 8554. CWE-789 (Uncontrolled Memory Allocation) is the root cause: the HSSPublicKeyParameters.getInstance() parser did not validate that the L field - the HSS hierarchy level count - fell within the RFC 8554-defined valid range of 1 to 8 inclusive. A crafted byte sequence embedding an arbitrarily large L value caused the library to attempt allocation of a correspondingly enormous data structure during key parsing or signature verification. The fix visible in commit 311cabbb6f adds the explicit bounds check 'if (L < 1 || L > 8)' per RFC 8554 Section 6, enforces exact-consumption of public key bytes (rejecting trailing garbage as required by RFC 8554 Sections 5.3 and 6.1), and validates LMS type codes and LM-OTS type codes against known-valid values, rejecting unknowns with clean IOExceptions instead of proceeding with undefined behavior.

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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/U:Amber
vuln.today AI 7.5 HIGH

Network-reachable unauthenticated parsing path, no scope change, and exclusively availability impact via unbounded heap allocation; no confidentiality or integrity effect.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
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
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

In Bouncy Castle for Java before 1.85, HSS public-key level count unbounded, enabling huge allocation on verify. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bc-fips 2.0.2 (2.0.X series) and 2.1.3 (2.1.X series).

Executive ViewAI

Why It Matters

Bouncy Castle for Java has an unauthenticated remote denial-of-service vulnerability (CVE-2026-58060) with no public exploit identified at time of analysis. Services using this cryptographic library to process external key material could face outages; given Bouncy Castle's prevalence in Java applications, exposure is likely widespread. Patches are available and deployment should be prioritized for systems handling untrusted cryptographic input.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
High
dominant Java cryptographic provider library, broad enterprise and OSS adoption
Data Quality
8 sources
Confidence: High
EUVD 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.4%
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
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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: Important
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