CVE-2026-103600 PUBLISHED

Unbounded ASN.1 nesting depth causes process-terminating stack overflow

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

Uncontrolled recursion in the ASN.1 parser (Asn1InputStream, Asn1StreamParser) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote unauthenticated attacker to cause a denial of service via a crafted ASN.1 encoding of deeply nested constructed elements (for example SEQUENCE inside SEQUENCE, in definite-length DER or indefinite-length BER form), because each nesting level is parsed by a further recursive call with no bound on depth. About 2,000 levels (8 KB of DER) are enough to exhaust a 1.5 MB thread stack, the .NET main-thread default on Windows, and raise a StackOverflowException, which .NET cannot catch and which terminates the whole process; on threads with larger stacks, parse time instead grows quadratically with depth (about 9 seconds of CPU for a 64 KB input). Any path that parses untrusted ASN.1 is exposed, including X.509 certificates and CRLs, CMS/PKCS#7, PKCS#8/PKCS#12, OCSP and TLS Certificate messages.

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

  • Yt finder

References

Problem Types

  • CWE-674 Uncontrolled Recursion CWE

Impacts

  • Denial of Service (process termination by StackOverflowException; quadratic CPU use on large-stack threads)