CVE-2026-17508: Bouncy Castle for Java unbounded KDF cost parameters

CVE-2026-17508 · Severity: info · Published 2026-10-02

Bouncy Castle for Java, a cryptographic library used in many Java applications, had password-based key derivation functions that accepted untrusted cost parameters without limits. An attacker could craft a malicious encrypted file or cryptographic container that forces the application to perform excessive computational work during decryption, causing denial of service or application hangs before any password validation occurs.

Vendors: Legion of the Bouncy Castle.

Quick answers

Is CVE-2026-17508 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-17508 being exploited in the wild.
How severe is CVE-2026-17508?
Informational severity, published 2 October 2026.
Which products and versions are affected?
Legion of the Bouncy Castle Bouncy Castle for Java before 1.86; Legion of the Bouncy Castle Bouncy Castle for Java FIPS bcpkix-fips before 1.0.13 (1.0.X), before 2.0.13 (2.0.X), before 2.1.13 (2.1.X); Legion of the Bouncy Castle Bouncy Castle for Java LTS before 2.73.13.
Is there a fix for CVE-2026-17508?
Yes: fixed in Bouncy Castle for Java 1.86, Bouncy Castle for Java LTS 2.73.13, Bouncy Castle for Java FIPS bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series), 2.1.13 (2.1.X series). Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-17508 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-17508?
Check whether you run Legion of the Bouncy Castle Bouncy Castle for Java, Legion of the Bouncy Castle Bouncy Castle for Java FIPS or Legion of the Bouncy Castle Bouncy Castle for Java LTS at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: Bouncy Castle for Java 1.86, Bouncy Castle for Java LTS 2.73.13, Bouncy Castle for Java FIPS bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series), 2.1.13 (2.1.X series)

Technical details

Multiple password-based key derivation entry points (PBMAC1, PBKDF2, bcrypt, scrypt) accepted cost parameters from untrusted input without bounding them, allowing attackers to dictate arbitrary computational overhead. The vulnerability affected PBMAC1 MAC calculator builders, PKCS#8/PKCS#12 decryptors with scrypt (where the parallelization parameter p was not limited), raw JCA PBKDF2, and OpenSSH v1 private key parsing. An attacker with a crafted encrypted file can trigger denial of service by exhausting CPU resources before password or integrity checks run.

Affected products

  • Legion of the Bouncy Castle Bouncy Castle for Java before 1.86
  • Legion of the Bouncy Castle Bouncy Castle for Java LTS before 2.73.13
  • Legion of the Bouncy Castle Bouncy Castle for Java FIPS bcpkix-fips before 1.0.13 (1.0.X), before 2.0.13 (2.0.X), before 2.1.13 (2.1.X)

Timeline

  • 2026-10-02: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.