Every CVE Search/ Get API key

CVE-2024-6197

freeing stack buffer in utf8asn1str

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

4.30%Up 4.3 points since Jul 24, 2024
90%50%10%1%

What each source reports

NVD Score used 7.5

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.

Record
CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
CVE List 7.5

freeing stack buffer in utf8asn1str

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.

Record
CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
EUVDEUVD-2024-47336 7.5

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.

Record
EUVD-2024-47336
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
GitHub AdvisoriesGHSA-x3h8-3mf2-v794 7.5

libcurl's ASN1 parser has this utf8asn1str() function used for parsing an ASN.1 UTF-8 string....

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.

Record
GHSA-x3h8-3mf2-v794
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVALPINE-CVE-2024-6197 7.5

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.

Record
ALPINE-CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVAZL-47023 7.5

CVE-2024-6197 affecting package curl for versions less than 8.8.0-2

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.

Record
AZL-47023
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
Show 11 moreShow less
OSVAZL-47028 7.5

CVE-2024-6197 affecting package cmake for versions less than 3.30.3-2

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.

Record
AZL-47028
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-05
OSVAZL-47049 7.5

CVE-2024-6197 affecting package curl for versions less than 8.8.0-2

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.

Record
AZL-47049
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVBELL-CVE-2024-6197 7.5
Record
BELL-CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSV 7.5

freeing stack buffer in utf8asn1str

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.

Record
CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVDEBIAN-CVE-2024-6197 7.5

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.

Record
DEBIAN-CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVJLSEC-2025-36 7.5

libcurl's ASN1 parser has this utf8asn1str() function used for parsing an ASN.1 UTF-8 string

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.

Record
JLSEC-2025-36
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2024-6197 7.5

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.

Record
UBUNTU-CVE-2024-6197
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Updated
2026-11-02
OSVCURL-CVE-2024-6197 No score

freeing stack buffer in utf8asn1str

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.

Record
CURL-CVE-2024-6197
Updated
2026-11-02
OSVopenSUSE-SU-2024:14225-1 No score

curl-8.9.0-1.1 on GA media

These are all security issues fixed in the curl-8.9.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2024:14225-1
Updated
2026-11-02
OSVSUSE-SU-2024:2784-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2024-7264: Fixed ASN.1 date parser overread (bsc#1228535)
  • CVE-2024-6197: Fixed freeing stack buffer in utf8asn1str (bsc#1227888)
Record
SUSE-SU-2024:2784-1
Updated
2026-11-02
OSVSUSE-SU-2025:20029-1 No score

Security update for curl

This update for curl fixes the following issues:

Security issues fixed:

  • CVE-2024-7264: ASN.1 date parser overread (bsc#1228535)
  • CVE-2024-6197: Freeing stack buffer in utf8asn1str (bsc#1227888)
  • CVE-2024-2379: QUIC certificate check bypass with wolfSSL (bsc#1221666)
  • CVE-2024-2466: TLS certificate check bypass with mbedTLS (bsc#1221668)
  • CVE-2024-2004: Usage of disabled protocol (bsc#1221665)
  • CVE-2024-2398: HTTP/2 push headers memory-leak (bsc#1221667)

Non-security issue fixed:

  • Fixed various TLS related issues including FTP over SSL transmission timeouts.
Record
SUSE-SU-2025:20029-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
curl
Alpine:v3.17
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.18
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.19
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.20
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.21
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.22
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.23
before 8.9.0-r0
8.9.0-r0
curl
Alpine:v3.24
before 8.9.0-r0
8.9.0-r0
curl
Azure Linux:3
before 8.8.0-2
8.8.0-2
cmake
Azure Linux:3
before 3.30.3-2
3.30.3-2
Show 11 moreShow less
Affected packages
PackageAffectedFixed
curl
Azure Linux:2
before 8.8.0-2
8.8.0-2
curl
Alpaquita:stream
8.6.0-r0 up to 8.9.0-r0
8.9.0-r0
curl
BellSoft Hardened Containers:stream
8.6.0-r0 up to 8.9.0-r0
8.9.0-r0
curl
Debian:13
before 8.9.0-1
8.9.0-1
curl
Debian:14
before 8.9.0-1
8.9.0-1
CURL_jll
Julia
8.6.0+0 up to 8.9.0+0
8.9.0+0
LibCURL_jll
Julia
8.6.0+0 up to 8.9.0+0
8.9.0+0
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP6
From an advisory covering 2 CVEs
before 8.6.0-150600.4.3.1
8.6.0-150600.4.3.1
curl
openSUSE:Leap 15.6
From an advisory covering 2 CVEs
before 8.6.0-150600.4.3.1
8.6.0-150600.4.3.1
curl
SUSE:Linux Micro 6.0
From an advisory covering 6 CVEs
before 8.6.0-3.1
8.6.0-3.1
curl
openSUSE:Tumbleweed
From an advisory covering 2 CVEs
before 8.9.0-1.1
8.9.0-1.1

History

History
RecordedChangedSources
affected
factsOSV
affected
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-6197 is a high vulnerability (CVSS 7.5) in Curl, published July 24, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 4.30%, the 91st percentile. Fixed in curl 8.9.0-r0.

References

Show 23 moreShow less
MoveEnter Open