Skip to content

← Public intelligence

Maven package

org.bouncycastle:bcprov-jdk15on

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

22 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 5.3MavenPublished

    Bouncy Castle certificate parsing issues cause high CPU usage during parameter evaluation.

    CVE-2024-29857 · GHSA-8xfc-gm6g-vgpv

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.78
    Fixed in
    1.78· Vendor fix available
    Issue
    An issue was discovered in ECCurve.java and ECCurve.cs in Bouncy Castle Java (BC Java) before 1.78, BC Java LTS before 2.73.6, BC-FJA before 1.0.2.5, and BC C .Net before 2.3.1. Importing an EC certificate with crafted F2m parameters can lead to excessive CPU consumption during the evaluation of the curve parameters.

    Recommended action: Upgrade to 1.78 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  2. Medium, CVSS 5.9MavenPublished

    Bouncy Castle affected by timing side-channel for RSA key exchange ("The Marvin Attack")

    CVE-2024-30171 · GHSA-v435-xc8x-wvr9

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.78
    Fixed in
    1.78· Vendor fix available
    Issue
    An issue was discovered in Bouncy Castle Java TLS API and JSSE Provider before 1.78. Timing-based leakage may occur in RSA based handshakes because of exception processing.

    Recommended action: Upgrade to 1.78 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  3. Medium, CVSS 5.9MavenPublished

    Bouncy Castle Java Cryptography API vulnerable to DNS poisoning

    CVE-2024-34447 · GHSA-4h8f-2wvx-gg5w

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on >= 1.61, < 1.78
    Fixed in
    1.78· Vendor fix available
    Issue
    An issue was discovered in the Bouncy Castle Crypto Package For Java before BC TLS Java 1.0.19 (ships with BC Java 1.78, BC Java (LTS) 2.73.6) and before BC FIPS TLS Java 1.0.19. When endpoint identification is enabled in the BCJSSE and an SSL socket is created without an explicit hostname (as happens with HttpsURLConnection), hostname verification could be performed against a DNS-resolved IP address in some situations, opening up a possibility of DNS poisoning.

    Recommended action: Upgrade to 1.78 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  4. UnratedMavenPublished

    Improper Input Validation in Bouncy Castle

    CVE-2013-1624 · GHSA-8353-fgcr-xfhx

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.48
    Fixed in
    1.48· Vendor fix available
    Issue
    The TLS implementation in the Bouncy Castle Java library before 1.48 and C library before 1.8 does not properly consider timing side-channel attacks on a noncompliant MAC check operation during the processing of malformed CBC padding, which allows remote attackers to conduct distinguishing attacks and plaintext-recovery attacks via statistical analysis of timing data for crafted packets, a related issue to CVE-2013-0169.

    Recommended action: Upgrade to 1.48 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  5. Medium, CVSS 5.9MavenPublished

    Observable Discrepancy in BouncyCastle

    CVE-2017-13098 · GHSA-wrwf-pmmj-w989

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.0.3
    Fixed in
    1.0.3· Vendor fix available
    Issue
    BouncyCastle TLS prior to version 1.0.3, when configured to use the JCE (Java Cryptography Extension) for cryptographic functions, provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange is negotiated. An attacker can recover the private key from a vulnerable application. This vulnerability is referred to as "ROBOT."

    Recommended action: Upgrade to 1.0.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  6. Medium, CVSS 4.4MavenPublished

    Improper Validation of Integrity Check Value in Bouncy Castle

    CVE-2018-5382 · GHSA-8477-3v39-ggpm

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.50
    Fixed in
    1.50· Vendor fix available
    Issue
    The default BKS keystore use an HMAC that is only 16 bits long, which can allow an attacker to compromise the integrity of a BKS keystore. Bouncy Castle release 1.47 changes the BKS format to a format which uses a 160 bit HMAC instead. This applies to any BKS keystore generated prior to BC 1.47. For situations where people need to create the files for legacy reasons a specific keystore type "BKS-V1" was introduced in 1.49. It should be noted that the use of "BKS-V1" is discouraged by the library authors and should only be used where it is otherwise safe to do so, as in where the use of a 16 bit checksum for the file integrity check is not going to cause a security issue in itself.

    Recommended action: Upgrade to 1.50 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  7. Medium, CVSS 5.1MavenPublished

    Timing based private key exposure in Bouncy Castle

    CVE-2020-15522 · GHSA-6xx3-rg99-gc3p

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.66
    Fixed in
    1.66· Vendor fix available
    Issue
    Bouncy Castle BC Java before 1.66, BC C .NET before 1.8.7, BC-FJA before 1.0.2.1, BC before 1.66, BC-FNA before 1.0.1.1 have a timing issue within the EC math library that can expose information about the private key when an attacker is able to observe timing information for the generation of multiple deterministic ECDSA signatures.

    Recommended action: Upgrade to 1.66 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  8. High, CVSS 8.1MavenPublished

    Logic error in Legion of the Bouncy Castle BC Java

    CVE-2020-28052 · GHSA-73xv-w5gp-frxh

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on >= 1.65, < 1.67
    Fixed in
    1.67· Vendor fix available
    Issue
    An issue was discovered in Legion of the Bouncy Castle BC Java 1.65 and 1.66. The OpenBSDBCrypt.checkPassword utility method compared incorrect data when checking the password, allowing incorrect passwords to indicate they were matching with previously hashed ones that were different.

    Recommended action: Upgrade to 1.67 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  9. Medium, CVSS 5.3MavenPublished

    Observable Differences in Behavior to Error Inputs in Bouncy Castle

    CVE-2020-26939 · GHSA-72m5-fvvv-55m6

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.61
    Fixed in
    1.61· Vendor fix available
    Issue
    In Legion of the Bouncy Castle BC before 1.55 and BC-FJA before 1.0.2, attackers can obtain sensitive information about a private exponent because of Observable Differences in Behavior to Error Inputs. This occurs in org.bouncycastle.crypto.encodings.OAEPEncoding. Sending invalid ciphertext that decrypts to a short payload in the OAEP Decoder could result in the throwing of an early exception, potentially leaking some information about the private exponent of the RSA private key performing the encryption.

    Recommended action: Upgrade to 1.61 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  10. Medium, CVSS 5.9MavenPublished

    Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15

    CVE-2016-1000345 · GHSA-9gp4-qrff-c648

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier the DHIES/ECIES CBC mode vulnerable to padding oracle attack. For BC 1.55 and older, in an environment where timings can be easily observed, it is possible with enough observations to identify when the decryption is failing due to padding.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  11. High, CVSS 7.4MavenPublished

    In Bouncy Castle JCE Provider the DHIES implementation allowed the use of ECB mode

    CVE-2016-1000344 · GHSA-2j2x-hx4g-2gf4

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier the DHIES implementation allowed the use of ECB mode. This mode is regarded as unsafe and support for it has been removed from the provider.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  12. UnratedMavenPublished

    Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15

    CVE-2015-7940 · GHSA-4mv7-cq75-3qjm

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.51
    Fixed in
    1.51· Vendor fix available
    Issue
    The Bouncy Castle Java library before 1.51 does not validate a point is withing the elliptic curve, which makes it easier for remote attackers to obtain private keys via a series of crafted elliptic curve Diffie Hellman (ECDH) key exchanges, aka an "invalid curve attack."

    Recommended action: Upgrade to 1.51 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  13. High, CVSS 7.4MavenPublished

    In Bouncy Castle JCE Provider the ECIES implementation allowed the use of ECB mode

    CVE-2016-1000352 · GHSA-w285-wf9q-5w69

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier the ECIES implementation allowed the use of ECB mode. This mode is regarded as unsafe and support for it has been removed from the provider.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  14. Low, CVSS 3.7MavenPublished

    In Bouncy Castle JCE Provider the other party DH public key is not fully validated

    CVE-2016-1000346 · GHSA-fjqm-246c-mwqg

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier the other party DH public key is not fully validated. This can cause issues as invalid keys can be used to reveal details about the other party's private key where static Diffie-Hellman is in use. As of release 1.56 the key parameters are checked on agreement calculation.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  15. High, CVSS 7.5MavenPublished

    In Bouncy Castle JCE Provider the DSA key pair generator generates a weak private key if used with default values

    CVE-2016-1000343 · GHSA-rrvx-pwf8-p59p

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier the DSA key pair generator generates a weak private key if used with default values. If the JCA key pair generator is not explicitly initialised with DSA parameters, 1.55 and earlier generates a private value assuming a 1024 bit key size. In earlier releases this can be dealt with by explicitly passing parameters to the key pair generator.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  16. High, CVSS 7.5MavenPublished

    In Bouncy Castle JCE Provider ECDSA does not fully validate ASN.1 encoding of signature on verification

    CVE-2016-1000342 · GHSA-qcj7-g2j5-g7r3

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier ECDSA does not fully validate ASN.1 encoding of signature on verification. It is possible to inject extra elements in the sequence making up the signature and still have it validate, which in some cases may allow the introduction of 'invisible' data into a signed structure.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  17. Medium, CVSS 5.9MavenPublished

    Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15

    CVE-2016-1000341 · GHSA-r9ch-m4fh-fc7q

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier DSA signature generation is vulnerable to timing attack. Where timings can be closely observed for the generation of signatures, the lack of blinding in 1.55, or earlier, may allow an attacker to gain information about the signature's k value and ultimately the private value as well.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  18. High, CVSS 7.5MavenPublished

    The Bouncy Castle JCE Provider carry a propagation bug

    CVE-2016-1000340 · GHSA-r97x-3g8f-gx3m

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on >= 1.51, < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider versions 1.51 to 1.55, a carry propagation bug was introduced in the implementation of squaring for several raw math classes have been fixed (org.bouncycastle.math.raw.Nat???). These classes are used by our custom elliptic curve implementations (org.bouncycastle.math.ec.custom.), so there was the possibility of rare (in general usage) spurious calculations for elliptic curve scalar multiplications. Such errors would have been detected with high probability by the output validation for our scalar multipliers.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  19. Medium, CVSS 5.3MavenPublished

    Moderate severity vulnerability that affects org.bouncycastle:bcprov-jdk14 and org.bouncycastle:bcprov-jdk15

    CVE-2016-1000339 · GHSA-c8xf-m4ff-jcxj

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In the Bouncy Castle JCE Provider version 1.55 and earlier the primary engine class used for AES was AESFastEngine. Due to the highly table driven approach used in the algorithm it turns out that if the data channel on the CPU can be monitored the lookup table accesses are sufficient to leak information on the AES key being used. There was also a leak in AESEngine although it was substantially less. AESEngine has been modified to remove any signs of leakage (testing carried out on Intel X86-64) and is now the primary AES class for the BC JCE provider from 1.56. Use of AESFastEngine is now only recommended where otherwise deemed appropriate.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  20. High, CVSS 7.5MavenPublished

    In Bouncy Castle JCE Provider it is possible to inject extra elements in the sequence making up the signature and still have it validate

    CVE-2016-1000338 · GHSA-4vhj-98r6-424h

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on >= 1.38, < 1.56
    Fixed in
    1.56· Vendor fix available
    Issue
    In Bouncy Castle JCE Provider version 1.55 and earlier the DSA does not fully validate ASN.1 encoding of signature on verification. It is possible to inject extra elements in the sequence making up the signature and still have it validate, which in some cases may allow the introduction of 'invisible' data into a signed structure.

    Recommended action: Upgrade to 1.56 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  21. Critical, CVSS 9.8MavenPublished

    Deserialization of Untrusted Data in Bouncy castle

    CVE-2018-1000613 · GHSA-4446-656p-f54g

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on >= 1.57, < 1.60
    Fixed in
    1.60· Vendor fix available
    Issue
    Legion of the Bouncy Castle Java Cryptography APIs starting in version 1.57 and prior to version 1.60 contains a CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') vulnerability in XMSS/XMSS^MT private key deserialization that can result in Deserializing an XMSS/XMSS^MT private key can result in the execution of unexpected code. This attack appear to be exploitable via A handcrafted private key can include references to unexpected classes which will be picked up from the class path for the executing application. This vulnerability appears to have been fixed in 1.60 and later.

    Recommended action: Upgrade to 1.60 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →
  22. High, CVSS 7.5MavenPublished

    Bouncy Castle has a flaw in the Low-level interface to RSA key pair generator

    CVE-2018-1000180 · GHSA-xqj7-j8j5-f2xr

    Affected
    • Maven org.bouncycastle:bcprov-jdk15on < 1.60
    Fixed in
    1.60· Vendor fix available
    Issue
    Bouncy Castle BC 1.54 - 1.59, BC-FJA 1.0.0, BC-FJA 1.0.1 and earlier have a flaw in the Low-level interface to RSA key pair generator, specifically RSA Key Pairs generated in low-level API with added certainty may have less M-R tests than expected. This appears to be fixed in versions BC 1.60 beta 4 and later, BC-FJA 1.0.2 and later.

    Recommended action: Upgrade to 1.60 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →