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.
OpenCVE Enrichment