What’s Vulnerable › Vulnerabilities
CVE-2026-103604: Quadratic-time escaping when converting X.509 distinguished names to strings
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-02 · updated 2026-10-28
- Weakness: CWE-407
Description
Inefficient algorithmic complexity in X.509 distinguished name string conversion (X509Name.ToString and IetfUtilities.ValueToString) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote unauthenticated attacker to cause a denial of service through CPU exhaustion via a certificate, CRL, certification request or other structure whose name contains a long attribute value made up of characters that must be escaped, such as commas, or of leading or trailing spaces, because each escaping backslash was inserted into the buffer being scanned, so the work grew quadratically with the length of the value. Applications are exposed when they convert such a name to a string, for example to log or display it, or compare it with IetfUtilities.RdnAreEqual, as PKIX path validation does for directoryName name constraints.
Affected products
- Legion of the Bouncy Castle Inc. bc-csharp: before 2.7.0 — fixed in 2.7.0
- Legion of the Bouncy Castle Inc. bc-csharp: before 2.7.0 — fixed in 2.7.0
How to fix
Upgrade to a fixed version: Legion of the Bouncy Castle Inc. bc-csharp 2.7.0; Legion of the Bouncy Castle Inc. bc-csharp 2.7.0. Check the vendor advisory for mitigations.
References
- https://github.com/bcgit/bc-csharp/commit/bd03e38bbb49db5be33f4463fc40997400c545cc
- https://github.com/bcgit/bc-csharp/wiki/CVE-2026-103604
Get alerted when CVE-2026-103604 or the next vulnerability affects your stack