# CVE-2024-29857: Bouncy Castle certificate parsing issues cause high CPU usage during parameter evaluation.

> CVE-2024-29857 (GitHub advisory GHSA-8xfc-gm6g-vgpv) is a medium-severity vulnerability with a CVSS 3.1 base score of 5.3, classed as Out-of-bounds Read (CWE-125), in 10 packages, including org.bouncycastle:bcprov-jdk18on (Maven) and org.bouncycastle:bcprov-jdk15on (Maven). Fixed versions: org.bouncycastle:bcprov-jdk18on 1.78; org.bouncycastle:bcprov-jdk15on 1.78; and 7 more packages.

Canonical page: https://cveminer.com/vulnerabilities/CVE-2024-29857

| Field | Value |
| --- | --- |
| CVE | CVE-2024-29857 |
| GHSA | GHSA-8xfc-gm6g-vgpv |
| Severity | Medium |
| CVSS 3.1 | 5.3 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L` (GitHub Advisory Database) |
| CVSS 3.1 | 7.5 `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H` (CVE.org) |
| CWE | CWE-125 Out-of-bounds Read; CWE-400 Uncontrolled Resource Consumption |
| EPSS | 1.09% (higher than 63% of CVEs) |
| CISA KEV | Not listed |
| SSVC | exploitation none, automatable no, technical impact partial |
| Published | 9 May 2024 |
| Modified | 13 Feb 2025 |

## Description

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.

## Affected packages

| Package | Ecosystem | PURL | Vulnerable versions | Fixed in |
| --- | --- | --- | --- | --- |
| org.bouncycastle:bcprov-jdk18on | Maven | `pkg:maven/org.bouncycastle/bcprov-jdk18on` | < 1.78 | 1.78 |
| org.bouncycastle:bcprov-jdk15on | Maven | `pkg:maven/org.bouncycastle/bcprov-jdk15on` | < 1.78 | 1.78 |
| org.bouncycastle:bcprov-jdk15to18 | Maven | `pkg:maven/org.bouncycastle/bcprov-jdk15to18` | < 1.78 | 1.78 |
| org.bouncycastle:bcprov-jdk14 | Maven | `pkg:maven/org.bouncycastle/bcprov-jdk14` | < 1.78 | 1.78 |
| org.bouncycastle:bctls-jdk18on | Maven | `pkg:maven/org.bouncycastle/bctls-jdk18on` | < 1.78 | 1.78 |
| org.bouncycastle:bctls-jdk14 | Maven | `pkg:maven/org.bouncycastle/bctls-jdk14` | < 1.78 | 1.78 |
| org.bouncycastle:bctls-jdk15to18 | Maven | `pkg:maven/org.bouncycastle/bctls-jdk15to18` | < 1.78 | 1.78 |
| org.bouncycastle:bc-fips | Maven | `pkg:maven/org.bouncycastle/bc-fips` | < 1.0.2.5 | 1.0.2.5 |
| BouncyCastle | NuGet | `pkg:nuget/BouncyCastle` | < 2.3.1 | no fix |
| BouncyCastle.Cryptography | NuGet | `pkg:nuget/BouncyCastle.Cryptography` | < 2.3.1 | 2.3.1 |

## Fix commits

- Patch: https://github.com/bcgit/bc-csharp/commit/56daa6eac526f165416d17f661422d60de0dfd63
- Patch: https://github.com/bcgit/bc-java/commit/efc498ca4caa340ac2fe11f2efee06c1a294501f
- Patch: https://github.com/bcgit/bc-java/commit/fee80dd230e7fba132d03a34f1dd1d6aae0d0281

## Questions

**What is the GHSA ID for CVE-2024-29857?**

GitHub tracks CVE-2024-29857 as GHSA-8xfc-gm6g-vgpv.

**What is the CVSS score of CVE-2024-29857?**

CVE-2024-29857 has a CVSS 3.1 base score of 5.3 (Medium), vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L. Other published scores: CVSS 3.1 7.5.

**Which versions are affected by CVE-2024-29857?**

org.bouncycastle:bcprov-jdk18on (Maven): < 1.78. org.bouncycastle:bcprov-jdk15on (Maven): < 1.78. org.bouncycastle:bcprov-jdk15to18 (Maven): < 1.78. org.bouncycastle:bcprov-jdk14 (Maven): < 1.78. org.bouncycastle:bctls-jdk18on (Maven): < 1.78. org.bouncycastle:bctls-jdk14 (Maven): < 1.78. 4 more packages are listed on the page.

**How do I fix CVE-2024-29857?**

Upgrade each package to its fixed version: org.bouncycastle:bcprov-jdk18on 1.78; org.bouncycastle:bcprov-jdk15on 1.78; org.bouncycastle:bcprov-jdk15to18 1.78; org.bouncycastle:bcprov-jdk14 1.78; and 5 more packages. The fix is in commits 56daa6e, efc498c and fee80dd.

**What is the Package URL (PURL) for CVE-2024-29857?**

The affected packages' PURLs are pkg:maven/org.bouncycastle/bcprov-jdk18on, pkg:maven/org.bouncycastle/bcprov-jdk15on, pkg:maven/org.bouncycastle/bcprov-jdk15to18, pkg:maven/org.bouncycastle/bcprov-jdk14, pkg:maven/org.bouncycastle/bctls-jdk18on and pkg:maven/org.bouncycastle/bctls-jdk14 and more.

**Is CVE-2024-29857 exploited in the wild?**

CISA's Known Exploited Vulnerabilities catalog doesn't list CVE-2024-29857. That means no confirmed exploitation has been catalogued, not that it is safe to leave unpatched. CISA's SSVC assessment rates exploitation as "none". EPSS estimates a 1.09% chance of exploitation in the next 30 days, higher than 63% of CVEs.

## References

- https://github.com/bcgit/bc-csharp/commit/56daa6eac526f165416d17f661422d60de0dfd63 (fix)
- https://github.com/bcgit/bc-java/commit/efc498ca4caa340ac2fe11f2efee06c1a294501f (fix)
- https://github.com/bcgit/bc-java/commit/fee80dd230e7fba132d03a34f1dd1d6aae0d0281 (fix)
- https://nvd.nist.gov/vuln/detail/CVE-2024-29857 (advisory)
- https://security.netapp.com/advisory/ntap-20241206-0008 (advisory)
- https://github.com/advisories/GHSA-8xfc-gm6g-vgpv (advisory)
- https://github.com/bcgit/bc-csharp/wiki/CVE%E2%80%902024%E2%80%9029857
- https://github.com/bcgit/bc-java/wiki/CVE%E2%80%902024%E2%80%9029857
- https://www.bouncycastle.org/latest_releases.html

---

Source: CVEminer (https://cveminer.com/vulnerabilities/CVE-2024-29857), compiled from OSV (GitHub advisory), GitHub Advisory Database, OSV (CVE record), CVE.org, CISA KEV catalog. OSV and GitHub Advisory Database content is licensed CC BY 4.0.
