{"id":"GHSA-6xx3-rg99-gc3p","summary":"Timing based private key exposure in Bouncy Castle","details":"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.","aliases":["CVE-2020-15522"],"modified":"2026-09-10T03:49:07.703437625Z","published":"2021-08-13T15:22:31Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2021-05-21T17:50:36Z","nvd_published_at":"2021-05-20T12:15:00Z","cwe_ids":["CWE-203","CWE-362"],"severity":"MODERATE"},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15522"},{"type":"WEB","url":"https://github.com/bcgit/bc-csharp/wiki/CVE-2020-15522"},{"type":"WEB","url":"https://github.com/bcgit/bc-java/wiki/CVE-2020-15522"},{"type":"WEB","url":"https://security.netapp.com/advisory/ntap-20210622-0007"},{"type":"WEB","url":"https://www.bouncycastle.org/releasenotes.html"}],"affected":[{"package":{"name":"org.bouncycastle:bc-fips","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bc-fips"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.0.2.1"}]}],"versions":["1.0.0","1.0.1","1.0.2"],"database_specific":{"last_known_affected_version_range":"\u003c= 1.0.2","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-ext-jdk15on","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-ext-jdk15on"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.46","1.47","1.48","1.49","1.50","1.51","1.52","1.53","1.54","1.55","1.56","1.57","1.58","1.59","1.60","1.61","1.62","1.63","1.64","1.65"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-ext-jdk16","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-ext-jdk16"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.45","1.46"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-jdk14","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-jdk14"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.38","1.43","1.44","1.45","1.46","1.47","1.48","1.49","1.50","1.51","1.53","1.54","1.55","1.56","1.57","1.58","1.59","1.60","1.61","1.62","1.63","1.64","1.65"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-jdk15","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-jdk15"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.32","1.38","1.40","1.43","1.44","1.45","1.46"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-jdk15on","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-jdk15on"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.46","1.47","1.48","1.49","1.50","1.51","1.52","1.53","1.54","1.55","1.56","1.57","1.58","1.59","1.60","1.61","1.62","1.63","1.64","1.65","1.65.01"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-jdk15to18","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-jdk15to18"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.63","1.64","1.65"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"org.bouncycastle:bcprov-jdk16","ecosystem":"Maven","purl":"pkg:maven/org.bouncycastle/bcprov-jdk16"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.66"}]}],"versions":["1.38","1.40","1.43","1.44","1.45","1.46"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}},{"package":{"name":"BouncyCastle","ecosystem":"NuGet","purl":"pkg:nuget/BouncyCastle"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.7"}]}],"versions":["1.7.0","1.8.1","1.8.2","1.8.3","1.8.3.1","1.8.4","1.8.5","1.8.6","1.8.6.1"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-6xx3-rg99-gc3p/GHSA-6xx3-rg99-gc3p.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N"}]}