Skip to content

Bouncy Castle bug bounty programs

bouncycastle.org Updated

Bouncy Castle runs one public program: a Sorona bug bounty paying up to $1,500.

Top reward
$1,500
Sorona
Programs
1
1 pays cash
Targets in scope
13
2 types
Last change
None yet
Tracked since Nov 2026

Where to report

The one public program Bouncy Castle runs.

Amounts are the top reward per severity in the currency each program pays. First response is the platform's measured average when it publishes one, else what the policy promises.

What is in scope

13 targets. 5 excluded.

  • https://www.bouncycastle.org

    Web

  • CMS, S/MIME, PKCS#7, PKCS#12 and the certificate management protocols the project implements, including CMP and EST

    Products and areas

  • The ASN.1 layer underneath all of the above, which decodes attacker-supplied structure before any signature has been checked

    Products and areas

  • The FIPS distributions and their self-test and boundary machinery

    Products and areas

  • The JCE and JCA provider surface: every algorithm registered through it, and the parameter handling on the way in

    Products and areas

  • The lightweight API, which callers use directly to reach primitives without going through the provider framework

    Products and areas

  • The OpenPGP implementation and everything it parses, which handles data supplied entirely by a third party

    Products and areas

  • The PKIX stack: certificate parsing, path building and validation, name constraints, CRL and OCSP handling

    Products and areas

  • The public key implementations across RSA, DSA, the elliptic curve families, the national algorithm suites such as GOST and SM2, and the post-quantum algorithms the project has added

    Products and areas

  • The published policy asks for security reports at the dedicated mailbox and commits to opening an advisory. It sets out a workflow rather than a component boundary, so treat the whole provider as in scope across both the Java and C# distributions

    Products and areas

  • The symmetric ciphers and their modes, including the AEAD constructions, tag verification and the counter and IV handling that recent findings landed in

    Products and areas

  • The TLS and DTLS implementation and the JSSE provider built on it, covering handshake state, the record layer and the trust decisions in between

    Products and areas

  • The utility and encoding surface, including the base64, hex and PEM handling that parses input a caller did not produce

    Products and areas

No target matches. Try part of a host name, such as the company name.

Out of scope 5

Don't test these. A program can exclude a host another program covers; the program you report to decides.

  • Application misuse of the API where the documented contract was broken, such as supplying a repeated IV to a mode that requires a unique one

  • Forks and repackaged copies of Bouncy Castle maintained by someone else, including a platform vendor's derived version

  • Reports filed as public GitHub issues, since the project asks for security reports at the dedicated mailbox

  • The JDK's own bundled providers or the .NET platform's cryptography APIs rather than Bouncy Castle's implementations

  • Weaknesses in a standardised algorithm rather than in this implementation of it

Recent changes

Reward and scope changes across every Bouncy Castle program, newest first.

No changes recorded yet. New targets and reward moves show up here and in the RSS feed.

Recent CVEs

Published vulnerabilities in Bouncy Castle products, from the NVD.

Search NVD
  • Loop with unreachable exit condition in the PKCS#12 key derivation (Pkcs12ParametersGenerator) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who can supply a PKCS#12 (PFX) file, or a PKCS#8 encrypted private key that uses a PKCS#12 password-based encryption algorithm, to cause a denial of service through CPU exhaustion via an iteration count of zero or below, becaus

  • Improper certificate validation in PkixNameConstraintValidator (ExtractHostFromURL) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a name-constrained subordinate CA, or anyone able to obtain certificates with chosen subjectAltName URIs from such a CA, to bypass permitted or excluded uniformResourceIdentifier name constraints during certification path validation via a URI whose p

  • Improper certificate validation in the directoryName name-constraint check (PkixNameConstraintValidator.WithinDNSubtree) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who controls, or can have certificates issued by, a name-constrained intermediate CA to get certificates accepted by PKIX path validation whose subject distinguished name, or a directoryName subjectAlt

  • Allocation of resources without limits in password-based private-key decryption (PbeUtilities.GenerateCipherParameters) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who can supply an encrypted private key, such as a PKCS#8 EncryptedPrivateKeyInfo or "ENCRYPTED PRIVATE KEY" PEM file, to cause a denial of service through CPU exhaustion via an iteration count close to

  • Loop with unreachable exit condition in Pkcs12Store.GetCertificateChain in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who can supply a crafted PKCS#12 file to an application that loads it and requests a key entry's certificate chain to cause a denial of service, in which the call never returns and consumes CPU and memory until an OutOfMemoryException, via certificat

  • Improper verification of cryptographic signature in the attribute certificate path validator (PkixAttrCertPathValidator, also used by PkixAttrCertPathBuilder) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote attacker to have a forged X.509 attribute certificate accepted as valid, and so obtain whatever roles or privileges an application grants on the strength of its attri

  • Allocation of resources without limits in PKCS#12 keystore loading (Pkcs12Store.Load) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who can supply a PKCS#12 (PFX) file to cause a denial of service through CPU exhaustion via an iteration count close to 2^31 in the file's MacData or in the PBE parameters of an encrypted SafeContents or shrouded key bag, because the co

  • Observable discrepancy in the CMS RSA PKCS#1 v1.5 key-transport unwrap (KeyTransRecipientInformation.UnwrapKey) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote attacker who holds a captured CMS EnvelopedData message, and who can submit many modified messages to an application that decrypts them with the recipient's RSA private key and reveals how decryption failed, to re

About this page

This page gathers every public program listed under bouncycastle.org: platform programs, self-hosted policies and security.txt contacts. Each program's own policy decides what is in scope and what it pays; check it before you test.

Something wrong or missing? Report a correction.