Botan: Case-Insensitive CN Values Bypass DNS excludedSubtrees Name Constraints (RFC 5280 Violation)
Botan is a C++ cryptography library. Prior to version 3.11.0, during processing of an X.509 certificate path using name constraints which restrict the set of allowable DNS names, if no subject alternative name is defined in the end-entity certificate Botan would check that the CN was allowed by the DNS name constraints, even though this check is technically not required by RFC 5280. However this check failed to account for the possibility of a mixed-case CN. Thus a certificate with CN=Sub.EVIL.COM and no subject alternative name would bypasses an excludedSubtrees constraint for evil.com because the comparison is case-sensitive. This issue has been patched in version 3.11.0.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-32884
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 19:28 UTC · Revision 1
Source evidence
Botan: Case-Insensitive CN Values Bypass DNS excludedSubtrees Name Constraints (RFC 5280 Violation)
core-osv · Original sourcePublished 30 Mar 2026, 20:36 UTC
Botan is a C++ cryptography library. Prior to version 3.11.0, during processing of an X.509 certificate path using name constraints which restrict the set of allowable DNS names, if no subject alternative name is defined in the end-entity certificate Botan would check that the CN was allowed by the DNS name constraints, even though this check is technically not required by RFC 5280. However this check failed to account for the possibility of a mixed-case CN. Thus a certificate with CN=Sub.EVIL.COM and no subject alternative name would bypasses an excludedSubtrees constraint for evil.com because the comparison is case-sensitive. This issue has been patched in version 3.11.0.
osv:CVE-2026-32884
Complete source record
{
"id": "68348f53fd2d0ee57e097a3e61e72ade61c44d25163511fb13b79468abfc26dd",
"url": "https://osv.dev/vulnerability/CVE-2026-32884",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Botan: Case-Insensitive CN Values Bypass DNS excludedSubtrees Name Constraints (RFC 5280 Violation)",
"summary": "Botan is a C++ cryptography library. Prior to version 3.11.0, during processing of an X.509 certificate path using name constraints which restrict the set of allowable DNS names, if no subject alternative name is defined in the end-entity certificate Botan would check that the CN was allowed by the DNS name constraints, even though this check is technically not required by RFC 5280. However this check failed to account for the possibility of a mixed-case CN. Thus a certificate with CN=Sub.EVIL.COM and no subject alternative name would bypasses an excludedSubtrees constraint for evil.com because the comparison is case-sensitive. This issue has been patched in version 3.11.0.",
"evidence": "osv:CVE-2026-32884",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-32884",
"aliases": [
"CVE-2026-32884",
"GHSA-7c3g-7763-ggj5"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/randombit/botan",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "4f6f5bbaf7263ca6062e6644950ae30625f06490"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "3.11.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:botan_project:botan:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.11.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"3.10.0",
"3.9.0",
"3.8.1",
"3.8.0",
"3.7.1",
"3.7.0",
"3.6.1",
"3.6.0",
"3.5.0",
"3.4.0",
"3.3.0",
"3.2.0",
"3.1.1",
"3.1.0",
"3.0.0",
"3.0.0-rc1",
"3.0.0-alpha1",
"3.0.0-alpha0",
"2.17.0",
"2.16.0",
"2.15.0",
"2.14.0",
"2.13.0",
"2.12.1",
"2.12.0",
"2.11.0",
"2.10.0",
"2.9.0",
"2.8.0",
"2.7.0",
"2.6.0",
"2.5.0",
"2.4.0",
"2.3.0",
"2.2.0",
"2.1.0",
"2.0.1",
"2.0.0",
"1.11.34",
"1.11.33",
"1.11.32",
"1.11.31",
"1.11.30",
"1.11.29",
"1.11.28",
"1.11.27",
"1.11.26",
"1.11.25",
"1.11.24",
"1.11.23",
"1.11.22",
"1.11.21",
"1.11.20",
"1.11.19",
"1.11.18",
"1.11.17",
"1.11.16",
"1.11.15",
"1.11.14",
"1.11.13",
"1.11.12",
"1.11.11",
"1.11.10",
"1.11.9",
"1.11.8",
"1.11.7",
"1.11.6",
"1.11.5",
"1.11.3",
"1.11.2",
"1.11.0",
"1.10.1",
"1.10.0",
"1.9.18",
"1.9.17",
"1.9.16",
"1.9.15",
"1.10.0-rc1",
"1.9.14",
"1.9.13",
"1.9.12",
"1.9.11",
"1.9.10",
"1.9.9",
"1.9.8",
"1.9.7",
"1.9.6",
"1.9.5",
"1.9.4",
"1.9.3",
"1.8.8",
"1.8.7",
"1.8.6",
"1.8.5",
"1.8.4",
"1.8.3",
"1.8.2",
"1.7.24",
"1.7.23",
"1.7.22",
"1.7.21",
"1.7.20",
"1.7.19",
"1.7.18",
"1.7.17",
"1.7.16",
"1.7.15",
"1.7.11",
"1.7.10",
"1.7.9",
"1.7.8",
"1.7.7",
"1.7.6",
"1.7.5",
"1.7.4",
"1.7.3",
"1.7.1",
"1.7.0",
"1.6.1",
"1.6.0",
"1.5.13",
"1.5.12",
"1.5.11",
"1.5.10",
"1.5.9",
"1.5.8",
"1.5.7",
"1.5.6"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-32884.json"
}
}
],
"modified": "2026-10-28T02:30:38.872902834Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32884.json",
"https://github.com/randombit/botan/security/advisories/GHSA-7c3g-7763-ggj5",
"https://nvd.nist.gov/vuln/detail/CVE-2026-32884"
],
"provider_metadata": {
"cwe_ids": [
"CWE-295"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/32xxx/CVE-2026-32884.json"
}
},
"related_cves": [
{
"value": "CVE-2026-32884",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 506174,
"published_at": "2026-03-30T20:36:19.729+00:00"
}