Lucene search

K
osvGoogleOSV:CURL-CVE-2024-6197
HistoryJul 24, 2024 - 8:00 a.m.

freeing stack buffer in utf8asn1str

2024-07-2408:00:00
Google
osv.dev
6
libcurl
asn1
parser
utf8asn1str
vulnerability
stack buffer
utf-8
free()
malloc
overwrite
crash
exploit
software

CVSS3

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

AI Score

7.3

Confidence

High

EPSS

0.001

Percentile

30.3%

libcurl’s ASN1 parser has this utf8asn1str() function used for parsing an
ASN.1 UTF-8 string. It can detect an invalid field and return error.
Unfortunately, when doing so it also invokes free() on a 4 byte local stack
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 exploiting this flaw is a crash, although it cannot
be ruled out that more serious results can be had in special circumstances.

CVSS3

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

AI Score

7.3

Confidence

High

EPSS

0.001

Percentile

30.3%