CVE-2026-59639

CMS verifySignatures returns true for SignedData with zero signers

Published Aug 3, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
In Bouncy Castle for Java before 1.85, CMS verifySignatures returns true for SignedData with zero signers. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.12 (1.0.X series), 2.0.12 (2.0.X series) and 2.1.12 (2.1.X series).

Analysis

AI-generated

Technical impact

Bouncy Castle for Java libraries performed an incorrect signature verification check in CMS verifySignatures, treating a SignedData object containing no signers as valid. The flaw is a signature verification failure (CWE-347) allowing an attacker to embed unsigned or tampered CMS data that the library will accept as authentic. The impact is that applications using the library may process malicious payloads as if they were signed, potentially enabling data tampering or impersonation.

Affected Systems

The vulnerability affects Bouncy Castle for Java (BC-JAVA) versions earlier than 1.85, the long-term support release before 2.73.12, and the Federal Information Processing Standard version, specifically bcpkix-fips releases below 1.0.12, 2.0.12, and 2.1.12. Any installation that depends on those releases is exposed. The known vendors are the Legion of the Bouncy Castle Inc. for BC-FJA, BC-JAVA, and BC-LTS-JAVA.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity, yet the EPSS score is not available, so the likelihood of exploitation remains uncertain. The issue is not listed in the CISA KEV catalog, implying no known public exploit. An attacker would need to supply crafted CMS SignedData to a vulnerable application; this can be done locally or remotely based on how the application accepts CMS structures. Because the library blindly trusts lack of signers as valid, the path to exploitation is straightforward for code that unconditionally accepts the verification result. The inference is that the likely attack vector is through any interface that transmits CMS data to the library, such as network services or file inputs.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Bouncy Castle for Java 1.85 or later.
  • Upgrade to Bouncy Castle for Java LTS 2.73.12 or later.
  • Upgrade to Bouncy Castle for Java FIPS bcpkix-fips 1.0.12, 2.0.12, or 2.1.12 or later.
  • Add application-level validation to ensure CMS SignedData contains at least one signer before accepting it as authenticated.

Generated by OpenCVE AI on August 4, 2026 at 10:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Bouncycastle
Bouncycastle bc-java
Bouncycastle bcpkix-fips
Bouncycastle bouncy Castle For Java Lts
CPEs cpe:2.3:a:bouncycastle:bc-java:*:*:*:*:*:*:*:*
cpe:2.3:a:bouncycastle:bcpkix-fips:*:*:*:*:*:*:*:*
cpe:2.3:a:bouncycastle:bouncy_castle_for_java_lts:*:*:*:*:*:*:*:*
Vendors & Products Bouncycastle
Bouncycastle bc-java
Bouncycastle bcpkix-fips
Bouncycastle bouncy Castle For Java Lts
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'}

Type Values Removed Values Added
First Time appeared Legion Of The Bouncy Castle Inc.
Legion Of The Bouncy Castle Inc. bc-fja
Legion Of The Bouncy Castle Inc. bc-java
Legion Of The Bouncy Castle Inc. bc-lts-java
Vendors & Products Legion Of The Bouncy Castle Inc.
Legion Of The Bouncy Castle Inc. bc-fja
Legion Of The Bouncy Castle Inc. bc-java
Legion Of The Bouncy Castle Inc. bc-lts-java
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description In Bouncy Castle for Java before 1.85, CMS verifySignatures returns true for SignedData with zero signers. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bcpkix-fips 1.0.12 (1.0.X series), 2.0.12 (2.0.X series) and 2.1.12 (2.1.X series).
Title CMS verifySignatures returns true for SignedData with zero signers
Weaknesses CWE-347
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/U:Amber'}

Weaknesses
  • CWE-347

    Improper Verification of Cryptographic Signature

Sources

Status
PUBLISHED
Assigner
bcorg
Published
Updated
Aug 3, 2026, 1:24 PM
Reserved
Jul 6, 2026, 6:58 AM
Status
Analyzed
Published
Aug 3, 2026, 1:16 AM
Modified
Aug 28, 2026, 3:33 PM