CVE-2024-6197

freeing stack buffer in utf8asn1str

High · published July 24, 2024

CVSS v3.1
7.5
EPSS
4%
Percentile
91.1
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.04296 · 91.1th percentile
Published
2024-07-24T07:29Z
EPSS history
Timeline
  • 24 JUL 07:29Z
    freeing stack buffer in utf8asn1str
    cvelistv5