bc-csharp: Unbounded PBE iteration count when decrypting PKCS#8 private keys
What fixes it
- 2.7.0bc-csharpCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Allocation of resources without limits in password-based private-key decryption (PbeUtilities.GenerateCipherParameters) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who can supply an encrypted private key, such as a PKCS#8 EncryptedPrivateKeyInfo or "ENCRYPTED PRIVATE KEY" PEM file, to cause a denial of service through CPU exhaustion via an iteration count close to 2^31, because the count is taken from the unauthenticated algorithm parameters without an upper bound and the key derivation runs before the password or the data can be checked. PKCS#5 PBES1 and PBES2 (PBKDF2), the PKCS#12 PBE algorithms and CMS password recipients (CmsPbeKey) are affected. Loading PKCS#12 files with Pkcs12Store is covered by CVE-2026-63572, and a zero or negative count with the PKCS#12 algorithms by CVE-2026-63575.
Text from CVE List
Affected versions 1
- bc-csharpaffected: all versions before 2.7.0CVE List
References 6
- github.com/bcgit/bc-csharp/commit/c00fc018fca89c077c64dd2a2a2eb00ae7d97241Fixvia CVE List
- github.com/bcgit/bc-csharp/commit/54ea0b179ee627027829b44c45d6dd32e575bd67Fixvia CVE List
- github.com/bcgit/bc-csharp/commit/7c0ed15f9783c9595b1a53f3900136461fd944f4Fixvia CVE List
- github.com/bcgit/bc-csharp/commit/34a7c05f719c91c024f285c6b420d3c00f8019ddFixvia CVE List
- github.com/bcgit/bc-csharp/commit/b57165ecb7790ecea08273b219d52d80c12990e4Fixvia CVE List
- github.com/bcgit/bc-csharp/wiki/CVE-2026-63578Advisoryvia CVE List