CVE-2024-6197
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.
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
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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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 High
CVSS: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
| Package | Affected | Fixed |
|---|---|---|
curlAlpine:v3.17 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.18 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.19 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.20 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.21 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.22 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.23 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAlpine:v3.24 |
before 8.9.0-r0 | 8.9.0-r0 |
curlAzure Linux:3 |
before 8.8.0-2 | 8.8.0-2 |
cmakeAzure Linux:3 |
before 3.30.3-2 | 3.30.3-2 |
Show 11 moreShow less
| Package | Affected | Fixed |
|---|---|---|
curlAzure Linux:2 |
before 8.8.0-2 | 8.8.0-2 |
curlAlpaquita:stream |
8.6.0-r0 up to 8.9.0-r0 | 8.9.0-r0 |
curlBellSoft Hardened Containers:stream |
8.6.0-r0 up to 8.9.0-r0 | 8.9.0-r0 |
curlDebian:13 |
before 8.9.0-1 | 8.9.0-1 |
curlDebian:14 |
before 8.9.0-1 | 8.9.0-1 |
CURL_jllJulia |
8.6.0+0 up to 8.9.0+0 | 8.9.0+0 |
LibCURL_jllJulia |
8.6.0+0 up to 8.9.0+0 | 8.9.0+0 |
curlSUSE: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 |
curlopenSUSE:Leap 15.6 From an advisory covering 2 CVEs |
before 8.6.0-150600.4.3.1 | 8.6.0-150600.4.3.1 |
curlSUSE:Linux Micro 6.0 From an advisory covering 6 CVEs |
before 8.6.0-3.1 | 8.6.0-3.1 |
curlopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 8.9.0-1.1 | 8.9.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| affected | ||
| first indexed | CVE 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
curl.se/docs/CVE-2024-6197.json
curl.se/docs/CVE-2024-6197.html
hackerone.com/reports/2559516
openwall.com/lists/oss-security/2024/07/24/1
openwall.com/lists/oss-security/2024/07/24/5
security.netapp.com/advisory/ntap-20241129-0008
Show 23 moreShow less
nvd.nist.gov/vuln/detail/CVE-2024-6197
github.com/advisories/GHSA-x3h8-3mf2-v794
security.alpinelinux.org/vuln/CVE-2024-6197
docs.bell-sw.com/security/cves/CVE-2024-6197
github.com/CVEProject/cvelistV5/tree/main/cves/2024/6xxx/CVE-2024-6197.json
security-tracker.debian.org/tracker/CVE-2024-6197
suse.com/support/update/announcement/2024/suse-su-20242784-1
bugzilla.suse.com/1227888
bugzilla.suse.com/1228535
suse.com/security/cve/CVE-2024-6197
suse.com/security/cve/CVE-2024-7264
suse.com/support/update/announcement/2025/suse-su-202520029-1
bugzilla.suse.com/1221665
bugzilla.suse.com/1221666
bugzilla.suse.com/1221667
bugzilla.suse.com/1221668
suse.com/security/cve/CVE-2024-2004
suse.com/security/cve/CVE-2024-2379
suse.com/security/cve/CVE-2024-2398
suse.com/security/cve/CVE-2024-2466
ubuntu.com/security/CVE-2024-6197
cve.org/CVERecord?id=CVE-2024-6197
suse.com/security/cve/CVE-2024-6874