Skip to main content

Bouncy Castle C# EUVDEUVD-2026-91222

| CVE-2026-63571 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-10-02 bcorg GHSA-cwfr-988g-hf77
8.7
CVSS 4.0 · Vendor: bcorg
View

Attack ChainAIDerived

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

  1. Access
    Identify app validating attribute certificates via bc-csharp
  2. Delivery
    Forge AC naming trusted authority as issuer
  3. Exploit
    Submit forged AC to application validator
  4. Execution
    Signature check bypassed, AC accepted
  5. Impact
    Attacker granted forged roles/privileges

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Exploitation requires that the target application uses bc-csharp's PkixAttrCertPathValidator or PkixAttrCertPathBuilder to validate X.509 attribute certificates and makes authorization/role decisions based on the attributes in those certificates - this is the exact precondition, not a generic one. Within such applications the attack is remote and unauthenticated (PR:N): the attacker only needs to supply a forged AC that references a trusted attribute authority as issuer, since the signature is never checked. The practical limiting factor is that attribute-certificate validation is an uncommon deployment feature, so applications that only validate standard public-key X.509 certificates, or that do not grant privileges from attribute certificates, are not affected; upgrading bc-csharp to 2.7.0 eliminates the flaw.

Impact

This is a genuine high-severity authentication/authorization-bypass flaw, not a CVSS-inflated non-issue, but its real-world blast radius is narrowed by a specific usage precondition. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a remote, unauthenticated, low-complexity attack with high integrity impact (VI:H) and no confidentiality or availability impact (VC:N/VA:N) - consistent with CWE-347 (improper signature verification) and the commit evidence showing the signature was never checked against the issuer's public key. The flaw is high-confidence (vendor-confirmed via the bc-csharp wiki advisory and a concrete patch commit that adds ProcessAttrCert2B to call attrCert.IsSignatureValid). No EPSS score, KEV listing, or POC was provided, so exploitation likelihood signals are absent - no public exploit identified at time of analysis, and there is no evidence of active exploitation. The key limiting factor overriding the raw 'network/unauthenticated' reading is that only applications using PkixAttrCertPathValidator/PkixAttrCertPathBuilder to validate X.509 attribute certificates are affected; attribute certificates are a niche feature, so broad opportunistic exploitation is unlikely despite the high CVSS. Note the 'Information Disclosure' framing conflicts with the CVSS vector, which shows VC:N (no confidentiality impact) - the true impact is integrity/privilege-granting, so treat this as an authorization-bypass issue rather than data disclosure.

Exploit ScenarioDerived

An attacker crafts a forged X.509 attribute certificate that names a trusted attribute authority as its issuer but is self-signed or signed with an attacker key, then presents it to a .NET application that uses bc-csharp's PkixAttrCertPathValidator to authorize actions. Because the validator checks holder/issuer paths, validity, extensions and revocation but never verifies the AC signature, the forged certificate is accepted and the attacker is granted whatever roles or privileges the application derives from the certificate's attributes. No public exploit code was provided, but the flaw is trivially exploitable given the straightforward signature-forgery requirement.

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

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

Alert me

AnalysisAIv1 – Oct 02, 2026

Forged X.509 attribute certificates are accepted as valid by Legion of the Bouncy Castle Inc. bc-csharp versions before 2.7.0, because the PkixAttrCertPathValidator (and PkixAttrCertPathBuilder) never verifies the attribute certificate's signature against the issuer's public key. An unauthenticated remote attacker can therefore supply an attribute certificate that names a trusted attribute authority as issuer without being signed by it, and any application that grants roles or privileges based on that certificate's attributes will act on the attacker's forged claims. Only applications that use these specific classes to validate attribute certificates and derive authorization decisions from them are affected; no public exploit code has been identified at time of analysis, and there is no confirmed active exploitation (CISA KEV). The vendor has released a fix in version 2.7.0.

RemediationAI

Vendor-released patch: upgrade bc-csharp to version 2.7.0, which is the release containing the ProcessAttrCert2B signature check introduced by commit c08f65e1ed7b92a10776220ed9c047f47c264725; see the advisory at https://github.com/bcgit/bc-csharp/wiki/CVE-2026-63571 for details. Where an immediate upgrade is not possible, treat attribute-certificate-based authorization as untrusted: perform an explicit signature verification of the attribute certificate with the issuer's public key (for example attrCert.IsSignatureValid(issuerCert.GetPublicKey())) immediately before any privilege decision, and fail closed if verification throws - the trade-off is duplicated validation logic that must be kept in sync with the library and that will break if callers forget one code path. Alternatively, disable the feature that derives roles or privileges from attribute certificates until the library is upgraded, which removes the exposure entirely but removes the functionality; note that merely restricting network access to the attribute-certificate input is not a reliable control where the AC is supplied through an untrusted channel such as a token, message, or remote client. Because exploitation yields forged role claims rather than code execution, audit authorization logs for role or privilege grants sourced from attribute certificates during the exposure window.

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

X.509 attribute certificates (ACs), defined by RFC 3281, are separate from public-key certificates: an Attribute Authority (AA) issues an AC to bind a holder (identified by the holder field, typically an IETF/ITU structure) to a set of attributes such as role or group memberships, and the AC is signed by the AA. Bc-csharp's RFC 3281 validation pipeline, implemented in Rfc3281CertPathUtilities and driven by PkixAttrCertPathValidator/PkixAttrCertPathBuilder, performed the surrounding checks - holder certification path, issuer (AA) certification path, validity period, attribute-certificate extensions, and revocation status via ProcessAttrCert2/ProcessAttrCert3 - but omitted the core step of cryptographically verifying the AC's own signature with the issuer's public key, the CWE-347 (Improper Verification of Cryptographic Signature) root cause. The upstream commit c08f65e1ed7b92a10776220ed9c047f47c264725 refactors ProcessAttrCert2 into ProcessAttrCert2A and adds ProcessAttrCert2B, which calls attrCert.IsSignatureValid(issuerCert.GetPublicKey()) and throws PkixCertPathValidatorException when the signature cannot be verified, restoring the signature check ahead of any reliance on the certificate's attributes. The flaw is an integrity/trust decision failure rather than memory corruption: the impacted CPE is cpe:2.3:a:legion_of_the_bouncy_castle_inc.:bc-csharp:*:*:*:*:*:*:*:*.

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:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Forging an unsigned AC is trivial and needs no auth (AC:L/PR:N/AV:N); impact is integrity-only privilege forgery (I:H), with no direct confidentiality or availability loss (C:N/A:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/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
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Improper verification of cryptographic signature in the attribute certificate path validator (PkixAttrCertPathValidator, also used by PkixAttrCertPathBuilder) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote attacker to have a forged X.509 attribute certificate accepted as valid, and so obtain whatever roles or privileges an application grants on the strength of its attributes, via an attribute certificate that names a trusted attribute authority as its issuer but was not signed by it, because the RFC 3281 validation steps check the holder and issuer certification paths, validity period, extensions and revocation status but never verify the attribute certificate's signature with the issuer's public key. Only applications that use these classes to validate attribute certificates are affected.

Executive ViewAI

Why It Matters

A signature-verification gap in the Bouncy Castle C

cryptography library (bc-csharp, versions before 2.7.0) allows forged X.509 attribute certificates to be accepted as legitimate, meaning any internal or customer-facing application that uses the affected PkixAttrCertPathValidator or PkixAttrCertPathBuilder classes to make role or privilege decisions could grant access to an attacker who was never authorized. The exposure is bounded to systems that rely on these specific classes for authorization, but where they are used, the consequence is a direct bypass of the trust model that underpins privileged access. Leadership should care because the failure is silent: affected applications will report successful validation while acting on forged credentials, and remediation requires knowing exactly which services embed this library.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
High
widely-used .NET crypto library, but attribute-certificate validation is a rarely-used feature
Data Quality
7 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.2%
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

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-63568 HIGH
8.7 Oct 02

Denial of service in Legion of the Bouncy Castle's C# cryptography library (bc-csharp) before 2.7.0 lets an unauthentica

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