Skip to content

CVE‐2026‐59643

David Hook edited this page Aug 3, 2026 · 1 revision

Title: OpenPGP inline-signature policy failures silently ignored.

Issue affecting: BC before 1.85 (from 1.81), BC-FJA before bcpg-fips 2.0.13 (from 2.0.12).

Fixed versions: BC 1.85, BC-FJA bcpg-fips 2.0.13.

Platform affected: Java 8 and later.

In OpenPGPMessageInputStream.OnePassSignatures.verify(), each signature is passed to dataSignature.sanitize(key, policy) to enforce OpenPGPPolicy rules (reject MD5/SHA-1/RIPEMD160 hashes, unacceptable keys, unknown critical subpackets, pre-dated signatures). The surrounding try/catch catches PGPSignatureException but the catch body contains only a '// continue' comment with no actual continue statement, so execution falls through to dataSignature.verify(ops). If cryptographic verification succeeds, the signature is added to results with isTested=true/isCorrect=true. An attacker who can obtain or collision-forge a trusted-key signature using a policy-rejected hash can have it accepted via the isTestedCorrect()/getSignatures() API.

The fix was introduced in commit d3f8cc408b4a.

Clone this wiki locally