CVE-2020-15522
Timing based private key exposure in Bouncy Castle
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.9
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
- Record
CVE-2020-15522- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:P/I:N/A:N - Weakness
- CWE-362
- Updated
- 2026-11-02
CVE List No score
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
- Record
CVE-2020-15522- Updated
- 2026-11-02
EUVDEUVD-2021-1608 No score
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
- Record
EUVD-2021-1608- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-6xx3-rg99-gc3p
5.1
Timing based private key exposure in Bouncy Castle
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.
- Record
GHSA-6xx3-rg99-gc3p- CVSS 3.1
- 5.1 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-203, CWE-362
- Updated
- 2026-11-02
OSV
5.9
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
- Record
CVE-2020-15522- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2020-15522
5.9
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
- Record
DEBIAN-CVE-2020-15522- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Show 9 moreShow less
OSVGHSA-6xx3-rg99-gc3p
5.1
Timing based private key exposure in Bouncy Castle
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.
- Record
GHSA-6xx3-rg99-gc3p- CVSS 3.1
- 5.1 Medium
CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-203, CWE-362
- Updated
- 2026-11-02
OSVOESA-2021-1301
5.9
bouncycastle security update
The package is organised so that it contains a light-weight API suitable for use in any environment (including the newly released J2ME) with the additional infrastructure to conform the algorithms to the JCE framework.
Security Fix(es):
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.(CVE-2020-15522)
- Record
OESA-2021-1301- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2020-15522
5.9
Bouncy Castle BC Java before 1.66, BC C# .NET before 1.8.7, BC-FJA before 1.0.1.2, 1.0.2.1, and 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.
- Record
UBUNTU-CVE-2020-15522- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1773101690 No score
TuxCare security update for org.bouncycastle (2 CVEs)
TuxCare rebuilt 4 org.bouncycastle packages to address 2 CVEs. Fixed in 1.64-tuxcare.1.
- Record
CLSA-2026-1773101690- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:0940-1 No score
Security update for bouncycastle
This update for bouncycastle fixes the following issues:
- CVE-2020-15522: Fixed a timing issue within the EC math library (bsc#1186328).
This update was imported from the SUSE:SLE-15-SP2:Update update project.
- Record
openSUSE-SU-2021:0940-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:2163-1 No score
Security update for bouncycastle
This update for bouncycastle fixes the following issues:
- CVE-2020-15522: Fixed a timing issue within the EC math library (bsc#1186328).
- Record
openSUSE-SU-2021:2163-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10661-1 No score
bouncycastle-1.68-3.2 on GA media
These are all security issues fixed in the bouncycastle-1.68-3.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10661-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:12868-1 No score
jameica-2.10.4-1.1 on GA media
These are all security issues fixed in the jameica-2.10.4-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:12868-1- Updated
- 2026-11-02
OSVSUSE-SU-2021:2163-1 No score
Security update for bouncycastle
This update for bouncycastle fixes the following issues:
- CVE-2020-15522: Fixed a timing issue within the EC math library (bsc#1186328).
- Record
SUSE-SU-2021:2163-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bc-fipsMaven |
through 1.0.2 | 1.0.2.1 |
org.bouncycastle:bcprov-ext-jdk15onMaven |
before 1.66 | 1.66 |
org.bouncycastle:bcprov-ext-jdk16Maven |
before 1.66 | 1.66 |
org.bouncycastle:bcprov-jdk14Maven |
before 1.66 | 1.66 |
org.bouncycastle:bcprov-jdk15Maven |
before 1.66 | 1.66 |
org.bouncycastle:bcprov-jdk15onMaven |
before 1.66 | 1.66 |
org.bouncycastle:bcprov-jdk15to18Maven |
before 1.66 | 1.66 |
org.bouncycastle:bcprov-jdk16Maven |
before 1.66 | 1.66 |
BouncyCastleNuGet |
before 1.8.7 | 1.8.7 |
org.bouncycastle:bcpkix-jdk15onTuxCare:Maven From an advisory covering 2 CVEs |
1.64 up to 1.64-tuxcare.1 | 1.64-tuxcare.1 |
Show 25 moreShow less
| Package | Affected | Fixed |
|---|---|---|
org.bouncycastle:bcprov-ext-jdk15onTuxCare:Maven From an advisory covering 2 CVEs |
1.64 up to 1.64-tuxcare.1 | 1.64-tuxcare.1 |
org.bouncycastle:bcprov-jdk14TuxCare:Maven From an advisory covering 2 CVEs |
1.64 up to 1.64-tuxcare.1 | 1.64-tuxcare.1 |
org.bouncycastle:bcprov-jdk15onTuxCare:Maven From an advisory covering 2 CVEs |
1.64 up to 1.64-tuxcare.1 | 1.64-tuxcare.1 |
bouncycastleDebian:12 |
before 1.68-1 | 1.68-1 |
bouncycastleDebian:13 |
before 1.68-1 | 1.68-1 |
bouncycastleDebian:14 |
before 1.68-1 | 1.68-1 |
org.bouncycastle:bc-fipsMaven |
before 1.0.2.1, plus listed versions 1.0.01.0.11.0.2 |
1.0.2.1 |
org.bouncycastle:bcprov-ext-jdk15onMaven |
before 1.66, plus listed versions 1.461.471.481.491.50 Show 15 moreShow less1.511.521.531.541.551.561.571.581.591.601.611.621.631.641.65 |
1.66 |
org.bouncycastle:bcprov-ext-jdk16Maven |
before 1.66, plus listed versions 1.451.46 |
1.66 |
org.bouncycastle:bcprov-jdk14Maven |
before 1.66, plus listed versions 1.381.431.441.451.46 Show 18 moreShow less1.471.481.491.501.511.531.541.551.561.571.581.591.601.611.621.631.641.65 |
1.66 |
org.bouncycastle:bcprov-jdk15Maven |
before 1.66, plus listed versions 1.321.381.401.431.441.451.46 |
1.66 |
org.bouncycastle:bcprov-jdk15onMaven |
before 1.66, plus listed versions 1.461.471.481.491.50 Show 16 moreShow less1.511.521.531.541.551.561.571.581.591.601.611.621.631.641.651.65.01 |
1.66 |
org.bouncycastle:bcprov-jdk15to18Maven |
before 1.66, plus listed versions 1.631.641.65 |
1.66 |
org.bouncycastle:bcprov-jdk16Maven |
before 1.66, plus listed versions 1.381.401.431.441.451.46 |
1.66 |
BouncyCastleNuGet |
before 1.8.7, plus listed versions 1.7.01.8.11.8.21.8.31.8.3.1 Show 4 moreShow less1.8.41.8.51.8.61.8.6.1 |
1.8.7 |
bouncycastleopenEuler:20.03-LTS-SP1 |
before 1.61-5.oe1 | 1.61-5.oe1 |
bouncycastleopenEuler:20.03-LTS-SP2 |
before 1.61-5.oe1 | 1.61-5.oe1 |
bouncycastleSUSE:Linux Enterprise Module for Development Tools 15 SP2 |
before 1.64-3.3.1 | 1.64-3.3.1 |
bouncycastleSUSE:Linux Enterprise Module for Development Tools 15 SP3 |
before 1.64-3.3.1 | 1.64-3.3.1 |
bouncycastleUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.49+dfsg-3ubuntu11.51-4ubuntu11.51-4ubuntu1+esm1 |
None known |
bouncycastleUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.57-11.58-11.59-11.59-1ubuntu0.1~esm1 |
None known |
bouncycastleUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.61-11.61-1ubuntu0.1~esm1 |
None known |
bouncycastleopenSUSE:Leap 15.2 |
before 1.64-lp152.2.3.1 | 1.64-lp152.2.3.1 |
bouncycastleopenSUSE:Leap 15.3 |
before 1.64-3.3.1 | 1.64-3.3.1 |
bouncycastleopenSUSE:Tumbleweed From an advisory covering 16 CVEs |
before 1.68-3.2 | 1.68-3.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-15522 is a medium vulnerability (CVSS 5.9) in Bouncycastle Bc-csharp, published May 20, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.52%, the 74th percentile. Fixed in org.bouncycastle:bc-fips 1.0.2.1.
References
bouncycastle.org/releasenotes.html
github.com/bcgit/bc-java/wiki/CVE-2020-15522
github.com/bcgit/bc-csharp/wiki/CVE-2020-15522
security.netapp.com/advisory/ntap-20210622-0007
nvd.nist.gov/vuln/detail/CVE-2020-15522
github.com/advisories/GHSA-6xx3-rg99-gc3p
Show 24 moreShow less
security-tracker.debian.org/tracker/CVE-2020-15522
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1301
suse.com/support/update/announcement/2021/suse-su-20212163-1
bugzilla.suse.com/1186328
suse.com/security/cve/CVE-2020-15522
ubuntu.com/security/CVE-2020-15522
cve.org/CVERecord?id=CVE-2020-15522
lists.opensuse.org/archives/list/[email protected]/thread/WSUJOEQHX6WIC7O7EQMIAET7L3ZTQKGM
lists.opensuse.org/archives/list/[email protected]/thread/XW6YD6VRTKZILPJP3QZQB6MFPZKOQLU6
suse.com/security/cve/CVE-2016-1000338
suse.com/security/cve/CVE-2016-1000339
suse.com/security/cve/CVE-2016-1000340
suse.com/security/cve/CVE-2016-1000341
suse.com/security/cve/CVE-2016-1000342
suse.com/security/cve/CVE-2016-1000343
suse.com/security/cve/CVE-2016-1000344
suse.com/security/cve/CVE-2016-1000345
suse.com/security/cve/CVE-2016-1000346
suse.com/security/cve/CVE-2016-1000352
suse.com/security/cve/CVE-2017-13098
suse.com/security/cve/CVE-2018-1000180
suse.com/security/cve/CVE-2018-1000613
suse.com/security/cve/CVE-2019-17359
suse.com/security/cve/CVE-2020-28052