Junglewise Threat Intelligence

CVE-2026-59639: Bouncy Castle for Java CMS signature verification bypass

CVE-2026-59639 · Severity: high · CVSS 7.5 · Published 2026-08-03

Technologies: Bouncy Castle for Java, Bouncy Castle for Java FIPS, Bouncycastle Bouncy Castle For Java Lts. Vendors: Bouncy Castle, Bouncycastle.

Executive brief

Bouncy Castle is a widely-used cryptographic library for Java applications. This vulnerability allows the CMS signature verification function to incorrectly return success when validating a signed message with zero signers, bypassing security controls. Applications relying on Bouncy Castle to verify digital signatures may accept forged or tampired messages as legitimate, potentially compromising data integrity and authentication.

Technical details

This vulnerability is a cryptographic validation bypass in the Bouncy Castle CMS (Cryptographic Message Syntax) module. The verifySignatures method incorrectly returns true for SignedData objects containing zero signers, a condition that should fail validation. The root cause is insufficient input validation on the signer list before performing verification checks. No authentication or special network access is required; any application using the affected verifySignatures API is at risk if it processes untrusted CMS SignedData. An attacker can craft a forged SignedData message with no valid signers and have it accepted as legitimate, enabling message forgery and tampering attacks. Patches are available in Bouncy Castle for Java 1.85+, Java LTS 2.73.12+, and Bouncy Castle for Java FIPS in bcpkix-fips 1.0.12, 2.0.12, and 2.1.12.

Affected products

  • Bouncy Castle Bouncy Castle for Java before 1.85
  • Bouncy Castle Bouncy Castle for Java LTS before 2.73.12
  • Bouncy Castle Bouncy Castle for Java FIPS bcpkix-fips before 1.0.12 (1.0.X series), before 2.0.12 (2.0.X series), before 2.1.12 (2.1.X series)

Timeline

  • 2026-08-03: disclosed: Vulnerability disclosed and published on NVD

References

Related threats