Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach CMP/CRMF enrollment endpoint
-
ExploitSend message with huge PBMParameter iteration count
-
ExecutionPKMacBuilder runs unbounded hash iterations
-
ImpactCPU exhaustion denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application process untrusted inbound CMP messages or CRMF certificate requests and invoke ProtectedPkiMessage.Verify or CertificateRequestMessage.IsValidSigningKeyPop using a PKMacBuilder created with a constructor OTHER than PKMacBuilder(IPKMacPrimitivesProvider, int) - i.e., one where no explicit iteration-count maximum was supplied; applications that already pass an explicit maximum are NOT affected. No authentication is needed (PR:N) because the oversized iteration count travels in the unauthenticated PBMParameter and is honored before the MAC is verified. Limiting factors: the affected version is bc-csharp before 2.7.0, and the vulnerable code path only executes in deployments that expose password-based-MAC CMP/CRMF handling - general bc-csharp usage (TLS, signing, hashing) does not reach it. |
| Impact | This is a genuine, well-characterized availability-only vulnerability rather than an inflated high-CVSS issue. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms remote, unauthenticated, low-complexity reachability with no user interaction, and impact is cleanly scoped to availability (VC:N/VI:N/VA:H) - there is no confidentiality or integrity exposure, consistent with CWE-770 (uncontrolled resource allocation) and the source evidence showing a missing iteration-count ceiling. Key probabilistic signals are MISSING: no EPSS score was provided, so exploitation likelihood cannot be quantified, and the SSVC/exploitation fields in the vector are undefined (E:X). KEV status is not indicated (treat as not listed) and no POC is referenced, so this should be classified as no public exploit identified at time of analysis - but note the root cause is trivially triggerable (a single CMP/CRMF message with a large PBMParameter iteration count up to ~2^31), so weaponization effort is low despite the absence of published code. The realistic priority is MODERATE: easy to exploit and remotely reachable, but the blast radius is limited to applications that actually parse untrusted CMP messages or CRMF certificate requests using a PKMacBuilder instantiated without an explicit maximum, and the worst case is service CPU exhaustion, not compromise. Patch prioritization is warranted for any PKI/certificate-enrollment service built on bc-csharp. |
| Exploit ScenarioDerived | An attacker sends a crafted CMP message or CRMF certificate request to a remote-facing certificate-enrollment or PKI endpoint built on bc-csharp, setting the PBMParameter iteration count to a very large value (up to ~2^31). When the server calls ProtectedPkiMessage.Verify or CertificateRequestMessage.IsValidSigningKeyPop with a default-constructed PKMacBuilder, it performs the full requested number of hash iterations before the MAC can even be checked, pinning a CPU core. No public exploit code is referenced, but the trigger is a single unauthenticated message and requires no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Denial of service in Legion of the Bouncy Castle's C
cryptography library (bc-csharp) before 2.7.0 lets an unauthenticated remote attacker exhaust server CPU by sending a CMP message or CRMF certificate request whose PBMParameter declares an iteration count as large as roughly 2^31; the library then performs that many hash iterations before it can even check the password-based MAC. Only deployments that accept untrusted inbound CMP/CRMF traffic and process it through ProtectedPkiMessage.Verify or CertificateRequestMessage.IsValidSigningKeyPop using a PKMacBuilder constructed without an explicit iteration ceiling are exposed - applications that already pass an explicit maximum are not affected, and general bc-csharp use (TLS, signing, hashing) never reaches the vulnerable path. Impact is availability-only (CVSS 4.0 8.7; assessed CVSS 3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H), no public exploit identified at time of analysis, and a vendor-released fix exists in bc-csharp 2.7.0.
RemediationAI
Vendor-released patch: upgrade to bc-csharp 2.7.0 or later, which introduces a default iteration-count ceiling of 10,000,000 when no explicit maximum is configured (fix commits 10a9862fad04bb0c832a78b10e71d9818d6d1a63, 65283bae66843d0d3c13c5e0272dbbe1c0d6aa04 and d16f08a53dd0a78eb3310bbe80c947c7e1677290); see https://github.com/bcgit/bc-csharp/wiki/CVE-2026-63568. If upgrading is not immediately possible, the most direct compensating control is to stop constructing PKMacBuilder without a limit: audit every call site of ProtectedPkiMessage.Verify and CertificateRequestMessage.IsValidSigningKeyPop and replace the no-argument / provider-only constructors with PKMacBuilder(IPKMacPrimitivesProvider, int) passing a small explicit maximum, since the ceiling is only honored when supplied through that constructor on unpatched code. The trade-off is that a low ceiling will reject legitimate peers whose advertised PBMParameter uses more iterations than the limit, so the value must be aligned with the highest count your interoperating CAs and clients actually send. Where the CMP or CRMF endpoint is not needed in production, disable it or firewall it to known PKI peers, and where it must stay reachable, apply per-source rate limiting and request-size/time-budget caps at the HTTP or application front end so a single oversized PBMParameter cannot monopolize worker threads - with the caveat that such controls blunt but do not eliminate the per-request CPU burn. For patched deployments the same 10,000,000 default can be tuned downward via the Org.BouncyCastle.PKMac.MaxIterationCount system property, accepting the same interoperability risk. Note that this property was added by the fix and is not available on unpatched versions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected code is the RFC 4211 PKMAC implementation used by CMP (Certificate Management Protocol) and CRMF (Certificate Request Message Format) in the C
Bouncy Castle crypto library, tracked as CPE cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-csharp:*:*:*:*:*:*:*:* for versions before 2.7.0. PKMAC derives a MAC key from a password using an iterated hash whose iteration count, along with salt and one-way/hash algorithm identifiers, is carried in the PBMParameter field of an incoming message. Because that parameter arrives unauthenticated and must be consumed before the MAC can be validated, the iteration count is fully attacker-controlled at the moment verification begins - a classic CWE-770 (Allocation of Resources Without Limits or Throttling) resource-exhaustion pattern applied to CPU rather than memory. The root cause is a conditional guard: PKMacBuilder.Build enforced its iteration-count ceiling only when maxIterations > 0, which was true only for the PKMacBuilder(IPKMacPrimitivesProvider, int) constructor; every other constructor left maxIterations at zero, so the check was skipped entirely and ProtectedPkiMessage.Verify and CertificateRequestMessage.IsValidSigningKeyPop would loop up to Integer.MAX_VALUE iterations for a hostile message. The upstream fix changes the guard so that when no explicit ceiling is configured it falls back to a generous default of 10,000,000 iterations, exposed as the configurable system property Org.BouncyCastle.PKMac.MaxIterationCount, and adds a regression test asserting that int.MaxValue is rejected while a benign count of 1000 still succeeds.
Know when Bc Csharp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Remote unauthenticated CMP/CRMF message triggers unbounded hashing before MAC check, so AV:N/AC:L/PR:N/UI:N; impact is CPU-exhaustion DoS only, so C:N/I:N/A:H.
Primary rating from Vendor (bcorg).
CVSS VectorVendor: bcorg
DescriptionCVE.org
Allocation of resources without limits or throttling in the CMP/CRMF password-based MAC verifier (PKMacBuilder) 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 CMP message or CRMF certificate request whose PBMParameter declares a very large iteration count, because PKMacBuilder enforced its iteration-count ceiling only when the caller had supplied an explicit maximum through the PKMacBuilder(IPKMacPrimitivesProvider, int) constructor. With any other constructor, ProtectedPkiMessage.Verify and CertificateRequestMessage.IsValidSigningKeyPop performed as many hash iterations as the sender requested, up to about 2^31, before the MAC could be checked.
Executive ViewAI
A high-severity denial-of-service flaw in the Bouncy Castle C
cryptography library (bc-csharp) allows an unauthenticated remote attacker to exhaust server CPU by submitting crafted certificate management messages with an excessive password-hashing iteration count. Only systems that accept untrusted inbound CMP or CRMF traffic and process it through the affected verification paths are exposed, meaning certificate enrollment and PKI-facing services are the primary business concern. Because the flaw is availability-only and a fixed release exists, leadership should treat this as a contained but time-sensitive patching priority for any internet-reachable certificate authority or enrollment infrastructure.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Crafted small-order or out-of-range Diffie-Hellman values passed to DHAgreement.CalculateAgreement in Bouncy Castle C# (
Memory exhaustion in Bouncy Castle C# (bc-csharp) before 2.7.0 allows a remote, unauthenticated attacker to cause a deni
Memory-exhaustion denial of service in the C# DTLS implementation of Bouncy Castle (bc-csharp) before 2.7.0 lets a remot
Uncontrolled recursion in Bouncy Castle C# (bc-csharp) before 2.7.0 allows unauthenticated remote attackers to crash or
Denial of service in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows unauthenticated remote attackers to
Denial of service in the Legion of the Bouncy Castle C# library (bc-csharp) affects all versions before 2.7.0, where qua
Authentication-tag forgery in Legion of the Bouncy Castle Inc. bc-csharp (Bouncy Castle C#) before 2.7.0 lets a remote,
Forged X.509 attribute certificates are accepted as valid by Legion of the Bouncy Castle Inc. bc-csharp versions before
Observable padding discrepancy in the IES/ECIES decryption path of Bouncy Castle C# (bc-csharp) before 2.7.0 lets an una
RSA PKCS#1 v1.5 key transport in the Bouncy Castle C# (bc-csharp) CMS implementation before 2.7.0 is vulnerable to a Ble
Information disclosure in Bouncy Castle C# (bc-csharp) versions before 2.7.0 allows unauthenticated remote attackers to
Certificates that should be rejected by PKIX name constraints are accepted by Legion of the Bouncy Castle Inc. bc-csharp
EUVD-2026-91219
GHSA-mm8p-p4g9-932c
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB