Skip to main content

Bouncy Castle bc-csharp CVE-2026-63568

| EUVDEUVD-2026-91219 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-02 bcorg GHSA-mm8p-p4g9-932c
8.7
CVSS 4.0 · Vendor: bcorg
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach CMP/CRMF enrollment endpoint
  2. Exploit
    Send message with huge PBMParameter iteration count
  3. Execution
    PKMacBuilder runs unbounded hash iterations
  4. Impact
    CPU 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

bc-csharp 0 <2.7.0

Affected Packages

euvd bc_csharp fix: 2.7.0

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

Vendor (bcorg) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (bcorg).

CVSS VectorVendor: bcorg

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
popular .NET crypto library, but vulnerable CMP/CRMF path used only by PKI apps
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2026-63569 CRITICAL
9.1 Oct 02

Crafted small-order or out-of-range Diffie-Hellman values passed to DHAgreement.CalculateAgreement in Bouncy Castle C# (

CVE-2026-103603 HIGH
8.7 Oct 02

Memory exhaustion in Bouncy Castle C# (bc-csharp) before 2.7.0 allows a remote, unauthenticated attacker to cause a deni

CVE-2026-63566 HIGH
8.7 Oct 02

Memory-exhaustion denial of service in the C# DTLS implementation of Bouncy Castle (bc-csharp) before 2.7.0 lets a remot

CVE-2026-103600 HIGH
8.7 Oct 02

Uncontrolled recursion in Bouncy Castle C# (bc-csharp) before 2.7.0 allows unauthenticated remote attackers to crash or

CVE-2026-63574 HIGH
8.7 Oct 02

Denial of service in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows unauthenticated remote attackers to

CVE-2026-103604 HIGH
8.7 Oct 02

Denial of service in the Legion of the Bouncy Castle C# library (bc-csharp) affects all versions before 2.7.0, where qua

CVE-2026-16000 HIGH
8.7 Oct 02

Authentication-tag forgery in Legion of the Bouncy Castle Inc. bc-csharp (Bouncy Castle C#) before 2.7.0 lets a remote,

CVE-2026-63571 HIGH
8.7 Oct 02

Forged X.509 attribute certificates are accepted as valid by Legion of the Bouncy Castle Inc. bc-csharp versions before

CVE-2026-63567 HIGH
8.2 Oct 02

Observable padding discrepancy in the IES/ECIES decryption path of Bouncy Castle C# (bc-csharp) before 2.7.0 lets an una

CVE-2026-63573 HIGH
8.2 Oct 02

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

CVE-2026-103601 HIGH
8.2 Oct 02

Information disclosure in Bouncy Castle C# (bc-csharp) versions before 2.7.0 allows unauthenticated remote attackers to

CVE-2026-103602 HIGH
8.2 Oct 02

Certificates that should be rejected by PKIX name constraints are accepted by Legion of the Bouncy Castle Inc. bc-csharp

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy