Inadequate Encryption Strength Affecting org.bouncycastle:bcprov-jdk15to18 package, versions [,1.85)


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.17% (8th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Inadequate Encryption Strength vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-JAVA-ORGBOUNCYCASTLE-18512573
  • published4 Aug 2026
  • disclosed3 Aug 2026
  • creditUnknown

Introduced: 3 Aug 2026

NewCVE-2026-59651  (opens in a new tab)
CWE-326  (opens in a new tab)

How to fix?

Upgrade org.bouncycastle:bcprov-jdk15to18 to version 1.85 or higher.

Overview

org.bouncycastle:bcprov-jdk15to18 is a Java implementation of cryptographic algorithms.

Affected versions of this package are vulnerable to Inadequate Encryption Strength in the BcKeyStoreSpi.engineLoad() method, which for legacy BKS keystore versions 0 and 1 passes hMac.getMacSize() (20 bytes for SHA-1) to generateDerivedMacParameters(), where PKCS12ParametersGenerator divides it by 8 and yields a 16-bit MAC key. An attacker with access to a .bks file can brute-force the 2^16 possible keys offline and produce a valid MAC over a modified store, for example injecting a rogue trusted CA, by setting the file's version integer to a legacy value that reaches the weak-key branch. This requires the attacker to supply or modify a .bks keystore that the application loads, and the org.bouncycastle.bks.enable_v1 property does not gate this path because the default BKS type reaches the weak derivation in engineLoad() regardless.

CVSS Base Scores

version 4.0
version 3.1