CVE-2026-17508: CWE-770 Allocation of Resources Without Limits or Throttling in Legion of the Bouncy Castle Inc. BC-JAVA
In Bouncy Castle for Java before 1.86, several password-based key derivation entry points ran the KDF with cost parameters taken from the untrusted input being processed, without bounding them, so a small input could dictate an arbitrary amount of work before any password or integrity check could reject it. The affected paths are the RFC 9579 PBMAC1 MAC calculator builders, which took the PBKDF2 iteration count and derived-key length straight out of PBMAC1Params (JcePBMac1CalculatorBuilder, and PKCS12PBEUtils.createPBMac1Calculator reached from PKCS12PfxPdu.isMacValid); the scrypt parallelization parameter p in the PKCS#8 and PKCS#12 cost guards, which bounded only the cost parameter N and the block size r even though the scratch buffer scales with r times p, so the configured memory ceiling could be evaded entirely; the raw JCA PBKDF2 provider (org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2); and the bcrypt round count read from an encrypted OpenSSH v1 private key's own kdfoptions. Each now bounds the parameter before deriving, in line with the caps already applied elsewhere in the tree, with the OpenSSH round count configurable through the new org.bouncycastle.openssh.max_rounds property. This completes the bounding begun in 1.85 for the PKCS#8 / PBES2 decryptors (CVE-2026-15055). This issue also affects Bouncy Castle for Java LTS before 2.73.13, and Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series) and 2.1.13 (2.1.X series).
AI Analysis
Technical Summary
In Bouncy Castle for Java before version 1.86, several password-based key derivation entry points run the KDF with cost parameters taken from untrusted input without bounding them, allowing a small input to dictate an arbitrary amount of computational work before any password or integrity check can reject it. Affected components include the RFC 9579 PBMAC1 MAC calculator builders (JcePBMac1CalculatorBuilder and PKCS12PBEUtils.createPBMac1Calculator), scrypt parallelization parameter p in PKCS#8 and PKCS#12 cost guards, the raw JCA PBKDF2 provider, and bcrypt round count from encrypted OpenSSH v1 private keys. The fix in 1.86 bounds these parameters appropriately, with the OpenSSH round count configurable via the new org.bouncycastle.openssh.max_rounds property. This vulnerability also affects Bouncy Castle for Java LTS before 2.73.13 and Bouncy Castle for Java FIPS before bcpkix-fips 1.0.13, 2.0.13, and 2.1.13. This completes the bounding work started in version 1.85 for PKCS#8 / PBES2 decryptors (CVE-2026-15055).
Potential Impact
An attacker can supply crafted input parameters that cause the key derivation functions to consume excessive CPU and memory resources before any password or integrity verification occurs. This can lead to denial of service conditions by exhausting system resources. There is no indication of direct compromise or data leakage from this vulnerability.
Mitigation Recommendations
Upgrade Bouncy Castle for Java to version 1.86 or later. For Bouncy Castle for Java LTS, upgrade to version 2.73.13 or later. For Bouncy Castle for Java FIPS, upgrade to bcpkix-fips 1.0.13, 2.0.13, or 2.1.13 or later depending on the series in use. These versions implement proper bounding of cost parameters to prevent excessive resource consumption. No other mitigation is required as the issue is fixed in these versions.
CVE-2026-17508: CWE-770 Allocation of Resources Without Limits or Throttling in Legion of the Bouncy Castle Inc. BC-JAVA
Description
In Bouncy Castle for Java before 1.86, several password-based key derivation entry points ran the KDF with cost parameters taken from the untrusted input being processed, without bounding them, so a small input could dictate an arbitrary amount of work before any password or integrity check could reject it. The affected paths are the RFC 9579 PBMAC1 MAC calculator builders, which took the PBKDF2 iteration count and derived-key length straight out of PBMAC1Params (JcePBMac1CalculatorBuilder, and PKCS12PBEUtils.createPBMac1Calculator reached from PKCS12PfxPdu.isMacValid); the scrypt parallelization parameter p in the PKCS#8 and PKCS#12 cost guards, which bounded only the cost parameter N and the block size r even though the scratch buffer scales with r times p, so the configured memory ceiling could be evaded entirely; the raw JCA PBKDF2 provider (org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2); and the bcrypt round count read from an encrypted OpenSSH v1 private key's own kdfoptions. Each now bounds the parameter before deriving, in line with the caps already applied elsewhere in the tree, with the OpenSSH round count configurable through the new org.bouncycastle.openssh.max_rounds property. This completes the bounding begun in 1.85 for the PKCS#8 / PBES2 decryptors (CVE-2026-15055). This issue also affects Bouncy Castle for Java LTS before 2.73.13, and Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.13 (1.0.X series), 2.0.13 (2.0.X series) and 2.1.13 (2.1.X series).
CVSS v4.0
Score 5.3medium
Affected software
pkg:maven/org.bouncycastle/bcprov-jdk15onRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In Bouncy Castle for Java before version 1.86, several password-based key derivation entry points run the KDF with cost parameters taken from untrusted input without bounding them, allowing a small input to dictate an arbitrary amount of computational work before any password or integrity check can reject it. Affected components include the RFC 9579 PBMAC1 MAC calculator builders (JcePBMac1CalculatorBuilder and PKCS12PBEUtils.createPBMac1Calculator), scrypt parallelization parameter p in PKCS#8 and PKCS#12 cost guards, the raw JCA PBKDF2 provider, and bcrypt round count from encrypted OpenSSH v1 private keys. The fix in 1.86 bounds these parameters appropriately, with the OpenSSH round count configurable via the new org.bouncycastle.openssh.max_rounds property. This vulnerability also affects Bouncy Castle for Java LTS before 2.73.13 and Bouncy Castle for Java FIPS before bcpkix-fips 1.0.13, 2.0.13, and 2.1.13. This completes the bounding work started in version 1.85 for PKCS#8 / PBES2 decryptors (CVE-2026-15055).
Potential Impact
An attacker can supply crafted input parameters that cause the key derivation functions to consume excessive CPU and memory resources before any password or integrity verification occurs. This can lead to denial of service conditions by exhausting system resources. There is no indication of direct compromise or data leakage from this vulnerability.
Mitigation Recommendations
Upgrade Bouncy Castle for Java to version 1.86 or later. For Bouncy Castle for Java LTS, upgrade to version 2.73.13 or later. For Bouncy Castle for Java FIPS, upgrade to bcpkix-fips 1.0.13, 2.0.13, or 2.1.13 or later depending on the series in use. These versions implement proper bounding of cost parameters to prevent excessive resource consumption. No other mitigation is required as the issue is fixed in these versions.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-m3x3-p27c-whhp
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-17508"]
- Database Specific Severity
- MODERATE
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6abfeeb7a43b0b3b89e560a2
Added to database: 10/02/2026, 17:49:43 UTC
Last enriched: 10/02/2026, 18:21:12 UTC
Last updated: 10/03/2026, 04:45:56 UTC
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.