CVE-2026-59639: CMS verifySignatures returns true for SignedData with zero signers
(updated )
Affects Bouncy Castle for Java LTS before 2.73.12. CMSSignedData.verifySignatures() iterates the signer set and returns true once the loop completes, without requiring that any signer be present. RFC 5652 allows a degenerate SignedData with an empty signerInfos set, and neither the ASN.1 layer nor SignerInformationStore rejects one. An attacker can submit a CMS or PKCS#7 blob carrying arbitrary content and no signers; applications treating the return value as proof of authenticity will accept unsigned content.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-59639 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →