Skip to main content

Bouncy Castle Java EUVDEUVD-2026-52140

| CVE-2026-13586 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-08-03 bcorg GHSA-pxw2-f34f-xjvr
5.3
CVSS 4.0 · Vendor: bcorg
View

Attack ChainAIDerived

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

  1. Access
    Craft PKCS#12 with max iteration count
  2. Delivery
    Submit file to target Java application
  3. Exploit
    Application calls KeyStore.load() via Bouncy Castle
  4. Execution
    KDF executes billions of hash iterations
  5. Persist
    CPU thread blocked for extended duration
  6. Impact
    Service degraded or unresponsive

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The application must process a PKCS#12 file sourced from an attacker-controlled or untrusted input - for example, user-uploaded keystores, TLS client certificates in PKCS#12 format, or PKCS#12 files fetched from external systems. The vulnerable code path is triggered during MAC verification (engineLoad) or bag decryption (unwrapKey, wrapKey, cryptData, createCipher). The prior mitigation - setting the JVM system property org.bouncycastle.pkcs12.max_it_count - was NOT enforced by default, meaning the vulnerable behavior occurs in all default deployments without that property. Exploitation is limited to availability impact only (no data exfiltration or integrity compromise); the CVSS UI:P metric confirms a passive interaction is required, meaning the attacker cannot trigger the computation without the target application loading the file. Applications that never accept externally supplied PKCS#12 files are not exposed.

Impact

The CVSS 4.0 base score of 5.3 (Medium) reflects a realistic, measured assessment: AV:N confirms network delivery, AC:L means no special conditions, PR:N means no authentication required, but UI:P (passive user interaction - i.e., an application must process the malicious PKCS#12 file) and VA:L (limited availability impact) constrain the severity. The practical risk depends on context: applications that accept PKCS#12 uploads from untrusted users or fetch them from external sources face meaningful exposure, because a single crafted file with a maximally large iteration count can peg a CPU thread for an extended period. The impact is bounded - no confidentiality or integrity loss - but repeated submissions could exhaust thread pools in keystore-processing services. No EPSS data was provided in the input, and this CVE is not listed in CISA KEV, indicating no confirmed active exploitation as of analysis. The U:Amber urgency label in the CVSS 4.0 vector signals the reporter considers this a real but not emergency-level risk. The missing EPSS score is noted; risk teams should treat this as a medium-priority patch given the wide Java ecosystem footprint.

Exploit ScenarioDerived

An attacker submits a crafted PKCS#12 file - for example, through a certificate upload endpoint or a client TLS mutual-auth flow - where the MAC or bag-decryption KDF parameters encode an extremely large iteration count such as 2^31-1. When the server-side Java application calls KeyStore.load() or equivalent Bouncy Castle APIs on this file, the KDF executes that many hash iterations synchronously, consuming CPU for seconds to minutes per request. No public exploit code has been identified at time of analysis, but the attack is trivially constructible by any party who can craft ASN.1 DER structures.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
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

Unbounded PKCS#12 KDF iteration counts in Bouncy Castle for Java allow remote, unauthenticated attackers to cause denial of service by supplying a crafted PKCS#12 file with an arbitrarily large iteration count in MAC or bag-decryption KDF parameters. Any Java application that processes PKCS#12 keystores using bc-java before 1.85, bc-lts-java before 2.73.12, or bc-fja (FIPS) before 1.0.2.7/2.0.2/2.1.3 is affected. No public exploit is identified at time of analysis, but the attack surface is broad given how widely PKCS#12 files are accepted across Java enterprise stacks.

RemediationAI

Upgrade to the patched versions: bc-java 1.85 or later, bc-lts-java 2.73.12 or later, bc-fja 1.0.2.7 (1.0.X series), 2.0.2 (2.0.X series), or 2.1.3 (2.1.X series). Patches are available via the upstream commits at https://github.com/bcgit/bc-java/commit/fa59cc23502f73def89d94374540cc92af647b96 and https://github.com/bcgit/bc-java/commit/75d60dfb4ca72bea6da96234138bc9b1556ef5b0; however, a tagged release version should be confirmed through Maven Central or the vendor advisory before deploying in production, as commit-level patches may not yet be formally released. If immediate patching is not possible, the prior code accepted the system property org.bouncycastle.pkcs12.max_it_count to cap iteration counts - setting this JVM property to a reasonable upper bound (e.g., 300000) on vulnerable versions provides a compensating control, though this workaround requires operator awareness and does not apply to the FIPS module uniformly. Additionally, restrict which users or services can supply PKCS#12 files to your application, and consider rate-limiting or sandboxing keystore-loading operations to reduce the availability impact of repeated abuse.

Affected VersionsENISA

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

Affected Packages

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 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 implements PKCS#12 keystore handling in PKCS12KeyStoreSpi and PKCS12PBMAC1KeyStoreSpi. PKCS#12 uses a Password-Based Key Derivation Function (KDF) - either PBKDF1/PKCS12KDF or PBKDF2 - to derive encryption and MAC keys from a password, with an iteration count embedded in the file's ASN.1 structure. CWE-770 (Allocation of Resources Without Limits or Throttling) is the root cause: the old per-class validateIterationCount() method only enforced an upper bound on the iteration count if the system property org.bouncycastle.pkcs12.max_it_count was explicitly set by the operator. Without that property, an arbitrarily large BigInteger iteration count was accepted and passed directly to CPU-intensive KDF operations. The fix centralizes validation in PKCS12Util.validateIterationCount(), which enforces a hard cap by default regardless of system property configuration. CPE strings confirm all three product lines are affected: cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-java:*:*:*:*:*:*:*:*, cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-lts-java:*:*:*:*:*:*:*:*, and cpe:2.3:a:legion_of_the_bouncy_castle_inc.: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

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

Network delivery of a crafted file, no privileges or special conditions needed, but application must actively load the file (UI:R); impact is CPU exhaustion only (A:L).

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

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
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

In Bouncy Castle for Java before 1.85, PKCS#12 MAC and bag-decryption KDF iteration-count bound (DoS). 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).

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
High
core Java crypto library used across enterprise, Android, and FIPS environments
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Affected
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Affected
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Affected

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