Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify app validating attribute certificates via bc-csharp
-
DeliveryForge AC naming trusted authority as issuer
-
ExploitSubmit forged AC to application validator
-
ExecutionSignature check bypassed, AC accepted
-
ImpactAttacker 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
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
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
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
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).
Primary rating from Vendor (bcorg).
CVSS VectorVendor: bcorg
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
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.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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
Denial of service in Legion of the Bouncy Castle's C# cryptography library (bc-csharp) before 2.7.0 lets an unauthentica
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,
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-91222
GHSA-cwfr-988g-hf77
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB