Skip to content
Heist/ feed
Back to feed
Medium

Botan has a Denial of Service Due to Excessive Name Constraints

Type: advisorySources: OSV

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 source

Published 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"
}