{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2024-6197",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2024-6197",
    "idYear": 2024,
    "status": "PUBLISHED",
    "publishedAt": "2024-07-24T07:29:50.003Z",
    "updatedAt": "2025-02-13T17:54:41.039Z",
    "importedAt": "2026-10-24T01:57:20.494Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "freeing stack buffer in utf8asn1str",
      "summary": "libcurl's ASN1 parser has this utf8asn1str() function used for parsing an ASN.1 UTF-8 string. Itcan detect an invalid field and return error. Unfortunately, when doing so it also invokes `free()` on a 4 byte localstack buffer.  Most modern malloc implementations detect this error and immediately abort. Some however accept the input pointer and add that memory to its list of available chunks. This leads to the overwriting of nearby stack memory. The content of the overwrite is decided by the `free()` implementation; likely to be memory pointers and a set of flags.  The most likely outcome of exploting this flaw is a crash, although it cannot be ruled out that more serious results can be had in special circumstances.",
      "affected": [
        {
          "vendor": "curl",
          "product": "curl",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "8.8.0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "8.8.0"
            },
            {
              "version": "8.7.1",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "8.7.1"
            },
            {
              "version": "8.7.0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "8.7.0"
            },
            {
              "version": "8.6.0",
              "status": "affected",
              "versionType": "semver",
              "lessThanOrEqual": "8.6.0"
            }
          ]
        }
      ]
    }
  }
}