# CVE-2020-15522: Timing based private key exposure in Bouncy Castle

Source: https://junglewise.ai/threats/cve-2020-15522-timing-based-private-key-exposure-in-bouncy-castle  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2021-08-13  
License: CC BY 4.0 with a link back

CVE-2020-15522 · Severity: low · CVSS 3.1 · Published 2021-08-13

Timing based private key exposure in Bouncy Castle

Technologies: [org.bouncycastle:bc-fips (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bc-fips), [org.bouncycastle:bcprov-ext-jdk15on (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-ext-jdk15on), [org.bouncycastle:bcprov-ext-jdk16 (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-ext-jdk16), [org.bouncycastle:bcprov-jdk14 (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-jdk14), [org.bouncycastle:bcprov-jdk15 (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-jdk15), [org.bouncycastle:bcprov-jdk15on (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-jdk15on), [org.bouncycastle:bcprov-jdk15to18 (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-jdk15to18), [org.bouncycastle:bcprov-jdk16 (Maven)](https://junglewise.ai/threats/technologies/org-bouncycastle-bcprov-jdk16), [BouncyCastle (NuGet)](https://junglewise.ai/threats/technologies/bouncycastle). Vendors: [Maven](https://junglewise.ai/threats/vendors/maven), [NuGet](https://junglewise.ai/threats/vendors/nuget).

## Quick answers

**Is CVE-2020-15522 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2020-15522 being exploited in the wild.

**How severe is CVE-2020-15522?** Low severity, with a CVSS score of 3.1, published 13 August 2021.

**Which products and versions are affected?** org.bouncycastle:bc-fips (Maven) ECOSYSTEM:introduced=0,fixed=1.0.2.1; org.bouncycastle:bcprov-ext-jdk15on (Maven) ECOSYSTEM:introduced=0,fixed=1.66; org.bouncycastle:bcprov-ext-jdk16 (Maven) ECOSYSTEM:introduced=0,fixed=1.66; org.bouncycastle:bcprov-jdk14 (Maven) ECOSYSTEM:introduced=0,fixed=1.66; and 5 more.

**Is there a fix for CVE-2020-15522?** Yes. org.bouncycastle:bc-fips (Maven): upgrade to 1.0.2.1 or later; org.bouncycastle:bcprov-ext-jdk15on (Maven): upgrade to 1.66 or later; org.bouncycastle:bcprov-ext-jdk16 (Maven): upgrade to 1.66 or later; org.bouncycastle:bcprov-jdk14 (Maven): upgrade to 1.66 or later; org.bouncycastle:bcprov-jdk15 (Maven): upgrade to 1.66 or later; org.bouncycastle:bcprov-jdk15on (Maven): upgrade to 1.66 or later; org.bouncycastle:bcprov-jdk15to18 (Maven): upgrade to 1.66 or later; org.bouncycastle:bcprov-jdk16 (Maven): upgrade to 1.66 or later; BouncyCastle (NuGet): upgrade to 1.8.7 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**Am I affected by CVE-2020-15522?** Check whether you run org.bouncycastle:bc-fips (Maven), org.bouncycastle:bcprov-ext-jdk15on (Maven), org.bouncycastle:bcprov-ext-jdk16 (Maven) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- org.bouncycastle:bc-fips (Maven): upgrade to 1.0.2.1 or later

  ```sh
  # set org.bouncycastle:bc-fips to 1.0.2.1 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-ext-jdk15on (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-ext-jdk15on to 1.66 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-ext-jdk16 (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-ext-jdk16 to 1.66 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-jdk14 (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-jdk14 to 1.66 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-jdk15 (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-jdk15 to 1.66 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-jdk15on (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-jdk15on to 1.66 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-jdk15to18 (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-jdk15to18 to 1.66 in your pom.xml or build.gradle
  ```

- org.bouncycastle:bcprov-jdk16 (Maven): upgrade to 1.66 or later

  ```sh
  # set org.bouncycastle:bcprov-jdk16 to 1.66 in your pom.xml or build.gradle
  ```

- BouncyCastle (NuGet): upgrade to 1.8.7 or later

  ```sh
  dotnet add package BouncyCastle --version 1.8.7
  ```


## Affected products

- org.bouncycastle:bc-fips (Maven) ECOSYSTEM:introduced=0,fixed=1.0.2.1
- org.bouncycastle:bcprov-ext-jdk15on (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- org.bouncycastle:bcprov-ext-jdk16 (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- org.bouncycastle:bcprov-jdk14 (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- org.bouncycastle:bcprov-jdk15 (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- org.bouncycastle:bcprov-jdk15on (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- org.bouncycastle:bcprov-jdk15to18 (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- org.bouncycastle:bcprov-jdk16 (Maven) ECOSYSTEM:introduced=0,fixed=1.66
- BouncyCastle (NuGet) ECOSYSTEM:introduced=0,fixed=1.8.7

## Identifiers

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

## Related threats

- [Bouncy Castle FIPS sensitive key material zeroisation failure](https://junglewise.ai/threats/cve-2026-13505-bouncy-castle-fips-sensitive-key-material-zeroisation-failure)
- [Bouncy Castle Java FIPS infinite loop in entropy source on Intel platforms](https://junglewise.ai/threats/cve-2026-8798-bouncy-castle-java-fips-infinite-loop-in-entropy-source-on-intel)
- [Bouncy Castle ASN.1 sequence nesting-depth guard bypass](https://junglewise.ai/threats/cve-2026-13506-bouncy-castle-asn-1-sequence-nesting-depth-guard-bypass)
- [Bouncy Castle Name Constraints bypass via trailing dot in rfc822Name and URI](https://junglewise.ai/threats/cve-2026-8763-bouncy-castle-name-constraints-bypass-via-trailing-dot-in)
- [Bouncy Castle BC-LTS GCM decryption failure on X86_64 Linux](https://junglewise.ai/threats/cve-2026-8149-bouncy-castle-bc-lts-gcm-decryption-failure-on-x86-64-linux)
