Executive brief
Bouncycastle is a cryptographic library widely used in Java applications to secure sensitive data like encryption keys and certificates. This vulnerability allows an attacker to manipulate keystore files by bypassing the integrity check that protects them, potentially enabling theft or modification of stored credentials. Organizations relying on Bouncycastle for key management should upgrade immediately to prevent unauthorized access to critical secrets.
Technical details
The BKS (Bouncycastle Keystore) format in Bouncycastle for Java before version 1.85 and LTS before 2.73.12 accepts a legacy variant that uses only a 16-bit MAC key for integrity verification, significantly weakening the cryptographic integrity check. This allows an attacker with access to a keystore file to forge valid MACs without knowledge of the correct key, bypassing authentication mechanisms. The vulnerability is a cryptographic weakness in the keystore format handling rather than a network-based attack vector. An attacker must obtain the keystore file (via filesystem access, backup compromise, or network interception) to exploit this. Patches are available in version 1.85 and later for the regular library, and 2.73.12 and later for the LTS branch.
Affected products
- Bouncycastle Bouncycastle for Java before 1.85
- Bouncycastle Bouncycastle for Java LTS before 2.73.12
Timeline
- 2026-08-03: disclosed