CVE-2026-103604 PUBLISHED

Quadratic-time escaping when converting X.509 distinguished names to strings

Assigner: bcorg
Reserved: 30.09.2026 Published: 02.10.2026 Updated: 02.10.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor Legion of the Bouncy Castle Inc.
Product bc-csharp
Versions Default: unaffected
  • affected from 0 to 2.7.0 (excl.)

Credits

  • Discovered by Claude, Anthropic's AI assistant, and triaged by the Anthropic security team in collaboration with Anthropic Research. finder

References

Problem Types

  • CWE-407 Inefficient Algorithmic Complexity CWE

Impacts

  • Denial of Service (CPU exhaustion)