{"id":"CVE-2026-63577","state":"PUBLISHED","title":"Name Constraints bypass: directoryName constraint matched at any position in the DN instead of as a prefix","description":"Improper certificate validation in the directoryName name-constraint check (PkixNameConstraintValidator.WithinDNSubtree) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who controls, or can have certificates issued by, a name-constrained intermediate CA to get certificates accepted by PKIX path validation whose subject distinguished name, or a directoryName subjectAltName, lies outside the CA's permitted subtrees, via a name that places other RDNs ahead of a copy of the permitted RDN sequence, because the check looks for the constraint's first RDN anywhere in the name and compares the remaining RDNs from that position, instead of requiring the constraint to be an initial prefix of the name as RFC 5280 sections 4.2.1.10 and 7.1 require.","publishedAt":"2026-10-02T07:07:35.458Z","updatedAt":"2026-10-06T19:31:34.111Z","severity":{"score":8.2,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N","source":"bcorg"},"assigner":"bcorg","products":["Legion of the Bouncy Castle Inc. bc-csharp"],"affected":[{"vendor":"Legion of the Bouncy Castle Inc.","product":"bc-csharp","packageName":"BouncyCastle.Cryptography","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"2.7.0","versionType":"semver"}],"collectionURL":"https://www.nuget.org/packages/BouncyCastle.Cryptography","repo":"https://github.com/bcgit/bc-csharp","programFiles":["crypto/src/pkix/PkixNameConstraintValidator.cs"]}],"references":["https://github.com/bcgit/bc-csharp/wiki/CVE-2026-63577","https://github.com/bcgit/bc-csharp/commit/606e9153b97a265c70ca8293d21ec859344d7de8","https://github.com/bcgit/bc-csharp/commit/75c3c576602886180ed92a63c89419e3bd63b392"],"weaknesses":["CWE-295"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/63xxx/CVE-2026-63577.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63577","state":"PUBLISHED","datePublished":"2026-10-02T07:07:35.458Z","dateUpdated":"2026-10-06T19:31:34.111Z","assignerShortName":"bcorg","assignerOrgId":"91579145-5d7b-4cc5-b925-a0262ff19630","dateReserved":"2026-07-16T23:51:51.306Z"},"containers":{"cna":{"title":"Name Constraints bypass: directoryName constraint matched at any position in the DN instead of as a prefix","descriptions":[{"lang":"en","value":"Improper certificate validation in the directoryName name-constraint check (PkixNameConstraintValidator.WithinDNSubtree) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows an attacker who controls, or can have certificates issued by, a name-constrained intermediate CA to get certificates accepted by PKIX path validation whose subject distinguished name, or a directoryName subjectAltName, lies outside the CA's permitted subtrees, via a name that places other RDNs ahead of a copy of the permitted RDN sequence, because the check looks for the constraint's first RDN anywhere in the name and compares the remaining RDNs from that position, instead of requiring the constraint to be an initial prefix of the name as RFC 5280 sections 4.2.1.10 and 7.1 require."}],"affected":[{"vendor":"Legion of the Bouncy Castle Inc.","product":"bc-csharp","packageName":"BouncyCastle.Cryptography","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"2.7.0","versionType":"semver"}],"collectionURL":"https://www.nuget.org/packages/BouncyCastle.Cryptography","repo":"https://github.com/bcgit/bc-csharp","programFiles":["crypto/src/pkix/PkixNameConstraintValidator.cs"]}],"references":[{"url":"https://github.com/bcgit/bc-csharp/wiki/CVE-2026-63577","tags":["vendor-advisory"]},{"url":"https://github.com/bcgit/bc-csharp/commit/606e9153b97a265c70ca8293d21ec859344d7de8","tags":["patch"]},{"url":"https://github.com/bcgit/bc-csharp/commit/75c3c576602886180ed92a63c89419e3bd63b392","tags":["patch"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":8.2,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-295","lang":"en","description":"CWE-295 Improper Certificate Validation","type":"CWE"}]}],"providerMetadata":{"shortName":"bcorg","orgId":"91579145-5d7b-4cc5-b925-a0262ff19630","dateUpdated":"2026-10-02T07:07:35.458Z"},"impacts":[{"descriptions":[{"lang":"en","value":"Integrity (X.509 directoryName name-constraint bypass: certificates outside a constrained CA's permitted DN subtree are accepted)"}]}],"credits":[{"lang":"en","value":"Discovered by Claude, Anthropic's AI assistant, and triaged by the Anthropic security team in collaboration with Anthropic Research.","type":"finder"}],"source":{"discovery":"EXTERNAL"},"x_generator":{"engine":"Claude Opus 5.5"},"x_antReportIds":["ANT-2026-FC4WTSVM"]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-06T19:21:22.320609Z","id":"CVE-2026-63577","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-06T19:31:34.111Z"}}]}}}