Vulnerability in Curl

CVE-2024-6197

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.

EPSS: 0.043 (90.5th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.5 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H.

Affected products

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2024-6197?
CVE-2024-6197 is a high-severity vulnerability in Curl, classified under CWE-590 FREE OF MEMORY NOT ON THE HEAP. CVSS score: 7.5/10. Published 2024-07-24.
How severe is CVE-2024-6197?
High severity. CVSS v3 base score is 7.5 out of 10.
Is CVE-2024-6197 known to be exploited?
2 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.