CVE-2024-34702
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.3
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.
- Record
CVE-2024-34702- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-405
- Updated
- 2026-11-02
EUVDEUVD-2024-34997
5.3
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.
- Record
EUVD-2024-34997- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-03
NVD
5.3
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.
- Record
CVE-2024-34702- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-405
- Updated
- 2026-11-02
OSVALPINE-CVE-2024-34702
5.3
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.
- Record
ALPINE-CVE-2024-34702- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSV
5.3
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.
- Record
CVE-2024-34702- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-405
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-34702
5.3
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.
- Record
DEBIAN-CVE-2024-34702- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
Show 9 moreShow less
OSVOESA-2024-1923
7.5
botan2 security update
Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS #10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the flavor of the library. This is the current stable release branch 2.x of Botan.
Security Fix(es):
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.(CVE-2024-34702)
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 versions 3.3.0 and 2.19.4, an attacker could present an ECDSA X.509 certificate using explicit encoding where the parameters are very large. The proof of concept used a 16Kbit prime for this purpose. When parsing, the parameter is checked to be prime, causing excessive computation. This was patched in 2.19.4 and 3.3.0 to allow the prime parameter of the elliptic curve to be at most 521 bits. No known workarounds are available. Note that support for explicit encoding of elliptic curve parameters is deprecated in Botan. (CVE-2024-34703)
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. A bug in the parsing of name constraint extensions in X.509 certificates meant that if the extension included both permitted subtrees and excluded subtrees, only the permitted subtree would be checked. If a certificate included a name which was permitted by the permitted subtree but also excluded by excluded subtree, it would be accepted. Fixed in versions 3.5.0 and 2.19.5.(CVE-2024-39312)
- Record
OESA-2024-1923- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2024-1924
7.5
botan2 security update
Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS #10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the flavor of the library. This is the current stable release branch 2.x of Botan.
Security Fix(es):
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.(CVE-2024-34702)
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 versions 3.3.0 and 2.19.4, an attacker could present an ECDSA X.509 certificate using explicit encoding where the parameters are very large. The proof of concept used a 16Kbit prime for this purpose. When parsing, the parameter is checked to be prime, causing excessive computation. This was patched in 2.19.4 and 3.3.0 to allow the prime parameter of the elliptic curve to be at most 521 bits. No known workarounds are available. Note that support for explicit encoding of elliptic curve parameters is deprecated in Botan. (CVE-2024-34703)
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. A bug in the parsing of name constraint extensions in X.509 certificates meant that if the extension included both permitted subtrees and excluded subtrees, only the permitted subtree would be checked. If a certificate included a name which was permitted by the permitted subtree but also excluded by excluded subtree, it would be accepted. Fixed in versions 3.5.0 and 2.19.5.(CVE-2024-39312)
- Record
OESA-2024-1924- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVOESA-2024-1925
7.5
botan2 security update
Botan is a BSD-licensed crypto library written in C++. It provides a wide variety of basic cryptographic algorithms, X.509 certificates and CRLs, PKCS #10 certificate requests, a filter/pipe message processing system, and a wide variety of other features, all written in portable C++. The API reference, tutorial, and examples may help impart the flavor of the library. This is the current stable release branch 2.x of Botan.
Security Fix(es):
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.(CVE-2024-34702)
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 versions 3.3.0 and 2.19.4, an attacker could present an ECDSA X.509 certificate using explicit encoding where the parameters are very large. The proof of concept used a 16Kbit prime for this purpose. When parsing, the parameter is checked to be prime, causing excessive computation. This was patched in 2.19.4 and 3.3.0 to allow the prime parameter of the elliptic curve to be at most 521 bits. No known workarounds are available. Note that support for explicit encoding of elliptic curve parameters is deprecated in Botan. (CVE-2024-34703)
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. A bug in the parsing of name constraint extensions in X.509 certificates meant that if the extension included both permitted subtrees and excluded subtrees, only the permitted subtree would be checked. If a certificate included a name which was permitted by the permitted subtree but also excluded by excluded subtree, it would be accepted. Fixed in versions 3.5.0 and 2.19.5.(CVE-2024-39312)
- Record
OESA-2024-1925- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-34702
5.3
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.
- Record
UBUNTU-CVE-2024-34702- CVSS 3.1
- 5.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVAZL-43942 No score
CVE-2024-34702 affecting package botan2 2.14.0-2
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.
- Record
AZL-43942- Updated
- 2026-11-02
OSVAZL-44796 No score
CVE-2024-34702 affecting package botan2 2.14.0-2
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.
- Record
AZL-44796- Updated
- 2026-11-05
OSVopenSUSE-SU-2024:0201-1 No score
Security update for Botan
This update for Botan fixes the following issues:
Update to 2.19.5:
- Fix multiple Denial of service attacks due to X.509 cert processing:
- CVE-2024-34702 - boo#1227238
- CVE-2024-34703 - boo#1227607
- CVE-2024-39312 - boo#1227608
- Fix a crash in OCB
- Fix a test failure in compression with certain versions of zlib
- Fix some iterator debugging errors in TLS CBC decryption.
- Avoid a miscompilation in ARIA when using XCode 14
- Record
openSUSE-SU-2024:0201-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:14188-1 No score
Botan-doc-2.19.5-1.1 on GA media
These are all security issues fixed in the Botan-doc-2.19.5-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:14188-1- Updated
- 2026-11-02
OSVUSN-7586-1 No score
botan vulnerabilities
It was discovered that Botan could have compiler dependent operations induced under certain circumstances. An attacker could possibly use this issue to cause undefined behavior. (CVE-2024-50382, CVE-2024-50383)
Bing Shi discovered that Botan did not limit the size of certain inputs when checking primality and name constraints. An attacker could possibly use this issue to cause a denial of service. (CVE-2024-34702, CVE-2024-34703)
It was discovered that Botan did not correctly handle conflicting name constraints. An attacker could possibly use this issue to bypass authentication. (CVE-2024-39312)
- Record
USN-7586-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
botanAlpine:v3.17 |
before 2.19.5-r0 | 2.19.5-r0 |
botanAlpine:v3.18 |
before 2.19.5-r0 | 2.19.5-r0 |
botanAlpine:v3.19 |
before 2.19.5-r0 | 2.19.5-r0 |
botanAlpine:v3.20 |
before 2.19.5-r0 | 2.19.5-r0 |
botanAlpine:v3.21 |
before 2.19.5-r0 | 2.19.5-r0 |
botan3Alpine:v3.21 |
before 3.5.0-r0 | 3.5.0-r0 |
botan3Alpine:v3.22 |
before 3.5.0-r0 | 3.5.0-r0 |
botan3Alpine:v3.23 |
before 3.5.0-r0 | 3.5.0-r0 |
botan3Alpine:v3.24 |
before 3.5.0-r0 | 3.5.0-r0 |
botan2Azure Linux:2 |
through 2.14.0-2 | None known |
Show 15 moreShow less
| Package | Affected | Fixed |
|---|---|---|
botan2Azure Linux:3 |
through 2.14.0-2 | None known |
botanDebian:12 |
before 2.19.3+dfsg-1+deb12u1, plus listed versions 2.19.3+dfsg-1 |
2.19.3+dfsg-1+deb12u1 |
botanDebian:13 |
before 2.19.5+dfsg-1 | 2.19.5+dfsg-1 |
botan2openEuler:24.03-LTS From an advisory covering 3 CVEs |
before 2.19.3-3.oe2403 | 2.19.3-3.oe2403 |
botan2openEuler:22.03-LTS-SP3 From an advisory covering 3 CVEs |
before 2.19.3-3.oe2203sp3 | 2.19.3-3.oe2203sp3 |
botan2openEuler:22.03-LTS-SP4 From an advisory covering 3 CVEs |
before 2.19.3-3.oe2203sp4 | 2.19.3-3.oe2203sp4 |
botanUbuntu:18.04:LTS |
All versions, plus listed versions 2.4.0-32.4.0-42.4.0-5ubuntu1 |
None known |
botanUbuntu:20.04:LTS |
All versions, plus listed versions 2.9.0-22.9.0-2build12.12.1-22.12.1-2build1 |
None known |
botanUbuntu:Pro:22.04:LTS |
before 2.19.1+dfsg-2ubuntu1+esm1, plus listed versions 2.17.3+dfsg-32.19.1+dfsg-2ubuntu1 |
2.19.1+dfsg-2ubuntu1+esm1 |
botanUbuntu:Pro:24.04:LTS |
before 2.19.3+dfsg-1ubuntu2+esm1, plus listed versions 2.19.3+dfsg-1ubuntu12.19.3+dfsg-1ubuntu2 |
2.19.3+dfsg-1ubuntu2+esm1 |
botanUbuntu:Pro:22.04:LTS From an advisory covering 5 CVEs |
before 2.19.1+dfsg-2ubuntu1+esm1, plus listed versions 2.17.3+dfsg-32.19.1+dfsg-2ubuntu1 |
2.19.1+dfsg-2ubuntu1+esm1 |
botanUbuntu:Pro:24.04:LTS From an advisory covering 5 CVEs |
before 2.19.3+dfsg-1ubuntu2+esm1, plus listed versions 2.19.3+dfsg-1ubuntu12.19.3+dfsg-1ubuntu2 |
2.19.3+dfsg-1ubuntu2+esm1 |
BotanSUSE:Package Hub 15 SP5 From an advisory covering 3 CVEs |
before 2.19.5-bp155.2.3.1 | 2.19.5-bp155.2.3.1 |
BotanopenSUSE:Leap 15.5 From an advisory covering 3 CVEs |
before 2.19.5-bp155.2.3.1 | 2.19.5-bp155.2.3.1 |
BotanopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 2.19.5-1.1 | 2.19.5-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| aliases, published | EUVD | |
| first indexed | CVE List, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-34702 is a medium vulnerability (CVSS 5.3) in Randombit Botan, published July 8, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.84%, the 58th percentile. Fixed in botan 2.19.5-r0.
References
github.com/randombit/botan/security/advisories/GHSA-5gg9-hqpr-r58j
github.com/randombit/botan/pull/4034
github.com/randombit/botan/pull/4045
github.com/randombit/botan/pull/4047
github.com/randombit/botan/pull/4052
github.com/randombit/botan/pull/4186
Show 30 moreShow less
github.com/randombit/botan/pull/4187
github.com/randombit/botan/commit/21dccc8fef18c165ba3301d850ac61521f85637e
github.com/randombit/botan/commit/39535f13c322f56aa3da2f44b2b6abb8619a82ac
github.com/randombit/botan/commit/477822a2d10f02d8ba46c9d8a5132f25843f5cc1
github.com/randombit/botan/commit/7606d70d3a2ac7114476ec2651ca0243c4536fdf
github.com/randombit/botan/commit/c3264821b9f6286ee4e6e3e06826f6b7177e6d41
github.com/randombit/botan/commit/ff704b12e6fa351aaedd07bffdc91722e84586b8
security.alpinelinux.org/vuln/CVE-2024-34702
nvd.nist.gov/vuln/detail/CVE-2024-34702
github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34702.json
security-tracker.debian.org/tracker/CVE-2024-34702
openeuler.org/en/security/security-bulletins/detail?id=openEuler-SA-2024-1923
nvd.nist.gov/vuln/detail/CVE-2024-34703
nvd.nist.gov/vuln/detail/CVE-2024-39312
openeuler.org/en/security/security-bulletins/detail?id=openEuler-SA-2024-1924
openeuler.org/en/security/security-bulletins/detail?id=openEuler-SA-2024-1925
ubuntu.com/security/CVE-2024-34702
cve.org/CVERecord?id=CVE-2024-34702
ubuntu.com/security/notices/USN-7586-1
ubuntu.com/security/CVE-2024-34703
ubuntu.com/security/CVE-2024-39312
ubuntu.com/security/CVE-2024-50382
ubuntu.com/security/CVE-2024-50383
lists.opensuse.org/archives/list/[email protected]/thread/6IOSLFSD2TJGWL4XB37VIQSVW7SPG2IP
bugzilla.suse.com/1227238
bugzilla.suse.com/1227607
bugzilla.suse.com/1227608
suse.com/security/cve/CVE-2024-34702
suse.com/security/cve/CVE-2024-34703
suse.com/security/cve/CVE-2024-39312