Botan has a Denial of Service Due to Excessive Name Constraints
Botan is a C++ cryptography library. X.509 certificates can identify elliptic curves using either an object identifier or using explicit encoding of the parameters. Prior to 3.5.0 and 2.19.5, checking name constraints in X.509 certificates is quadratic in the number of names and name constraints. An attacker who presented a certificate chain which contained a very large number of names in the SubjectAlternativeName, signed by a CA certificate which contained a large number of name constraints, could cause a denial of service. The problem has been addressed in Botan 3.5.0 and a partial backport has also been applied and is included in Botan 2.19.5.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2024-34702
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 03:37 UTC · Revision 1
Source evidence
Botan has a Denial of Service Due to Excessive Name Constraints
core-osv · Original sourcePublished 8 Jul 2024, 16:22 UTC
Botan is a C++ cryptography library. X.509 certificates can identify elliptic curves using either an object identifier or using explicit encoding of the parameters. Prior to 3.5.0 and 2.19.5, checking name constraints in X.509 certificates is quadratic in the number of names and name constraints. An attacker who presented a certificate chain which contained a very large number of names in the SubjectAlternativeName, signed by a CA certificate which contained a large number of name constraints, could cause a denial of service. The problem has been addressed in Botan 3.5.0 and a partial backport has also been applied and is included in Botan 2.19.5.
osv:CVE-2024-34702
Complete source record
{
"id": "346163df0ba7a260caeb8d5264be720b5af09a5ada3075c1a39165c3621c8537",
"url": "https://osv.dev/vulnerability/CVE-2024-34702",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Botan has a Denial of Service Due to Excessive Name Constraints",
"summary": "Botan is a C++ cryptography library. X.509 certificates can identify elliptic curves using either an object identifier or using explicit encoding of the parameters. Prior to 3.5.0 and 2.19.5, checking name constraints in X.509 certificates is quadratic in the number of names and name constraints. An attacker who presented a certificate chain which contained a very large number of names in the SubjectAlternativeName, signed by a CA certificate which contained a large number of name constraints, could cause a denial of service. The problem has been addressed in Botan 3.5.0 and a partial backport has also been applied and is included in Botan 2.19.5.",
"evidence": "osv:CVE-2024-34702",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2024-34702",
"aliases": [
"CVE-2024-34702",
"GHSA-5gg9-hqpr-r58j"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/randombit/botan",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "935055e839794a076d209c9e9a1e9cd2255aae01"
},
{
"introduced": "51b06ca93d1998d19927699f78b8d67539148dde"
},
{
"fixed": "2e5c7d3eb0dcb63d087fc3e7c92010aa82509bbf"
},
{
"fixed": "21dccc8fef18c165ba3301d850ac61521f85637e"
},
{
"fixed": "39535f13c322f56aa3da2f44b2b6abb8619a82ac"
},
{
"fixed": "477822a2d10f02d8ba46c9d8a5132f25843f5cc1"
},
{
"fixed": "7606d70d3a2ac7114476ec2651ca0243c4536fdf"
},
{
"fixed": "c3264821b9f6286ee4e6e3e06826f6b7177e6d41"
},
{
"fixed": "ff704b12e6fa351aaedd07bffdc91722e84586b8"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.19.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "3.0.0"
},
{
"fixed": "3.5.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "21dccc8fef18c165ba3301d850ac61521f85637e"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "39535f13c322f56aa3da2f44b2b6abb8619a82ac"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "477822a2d10f02d8ba46c9d8a5132f25843f5cc1"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "7606d70d3a2ac7114476ec2651ca0243c4536fdf"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "c3264821b9f6286ee4e6e3e06826f6b7177e6d41"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "ff704b12e6fa351aaedd07bffdc91722e84586b8"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"3.4.0",
"2.19.4",
"3.3.0",
"3.2.0",
"3.1.1",
"3.1.0",
"3.0.0",
"2.19.3",
"2.19.2",
"2.19.1",
"2.19.0",
"2.18.2",
"2.18.1",
"2.18.0",
"2.17.3",
"2.17.2",
"2.17.1",
"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-2024-34702.json"
}
}
],
"modified": "2026-10-28T02:30:42.445027257Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34702.json",
"https://github.com/randombit/botan/security/advisories/GHSA-5gg9-hqpr-r58j",
"https://nvd.nist.gov/vuln/detail/CVE-2024-34702",
"https://github.com/randombit/botan/commit/21dccc8fef18c165ba3301d850ac61521f85637e",
"https://github.com/randombit/botan/commit/39535f13c322f56aa3da2f44b2b6abb8619a82ac",
"https://github.com/randombit/botan/commit/477822a2d10f02d8ba46c9d8a5132f25843f5cc1",
"https://github.com/randombit/botan/commit/7606d70d3a2ac7114476ec2651ca0243c4536fdf",
"https://github.com/randombit/botan/commit/c3264821b9f6286ee4e6e3e06826f6b7177e6d41",
"https://github.com/randombit/botan/commit/ff704b12e6fa351aaedd07bffdc91722e84586b8",
"https://github.com/randombit/botan/pull/4034",
"https://github.com/randombit/botan/pull/4045",
"https://github.com/randombit/botan/pull/4047",
"https://github.com/randombit/botan/pull/4052",
"https://github.com/randombit/botan/pull/4186",
"https://github.com/randombit/botan/pull/4187"
],
"provider_metadata": {
"cwe_ids": [
"CWE-405"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34702.json"
}
},
"related_cves": [
{
"value": "CVE-2024-34702",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 509901,
"published_at": "2024-07-08T16:22:37.77+00:00"
}