Every CVE Search/ Get API key

CVE-2024-6874

macidn punycode buffer overread

4.3 MediumFix available

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.79%Up 0.7 points since Jul 24, 2024
90%50%10%1%

What each source reports

NVD Score used 4.3

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
CVE-2024-6874
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
CVSS 3.1
3.1 LowCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-125
Updated
2026-11-02
CVE List 3.1

macidn punycode buffer overread

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
CVE-2024-6874
CVSS 3.1
3.1 LowCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
EUVDEUVD-2024-47867 3.1

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
EUVD-2024-47867
CVSS 3.1
3.1 LowCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-chhh-4xrf-42pg 3.1

libcurl's URL API function [curl_url_get()](https://curl.se/libcurl/c/curl_url_get.html) offers...

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
GHSA-chhh-4xrf-42pg
CVSS 3.1
3.1 LowCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-125
Updated
2026-11-02
OSVALPINE-CVE-2024-6874 4.3

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
ALPINE-CVE-2024-6874
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVAZL-47020 4.3

CVE-2024-6874 affecting package curl for versions less than 8.8.0-1

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
AZL-47020
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
Show 9 moreShow less
OSVAZL-47046 4.3

CVE-2024-6874 affecting package curl for versions less than 8.8.0-1

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
AZL-47046
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVAZL-49664 4.3

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

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
AZL-49664
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-05
OSVBELL-CVE-2024-6874 4.3
Record
BELL-CVE-2024-6874
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSV 3.1

macidn punycode buffer overread

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

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

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string. This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
DEBIAN-CVE-2024-6874
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVJLSEC-2025-37 4.3

libcurl's URL API function [`curl_url_get()`](https://curl.se/libcurl/c/curl_url_get.html) offers...

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null terminate the string.

This flaw can lead to stack contents accidently getting returned as part of the converted string.

Record
JLSEC-2025-37
CVSS 3.1
4.3 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
OSVCURL-CVE-2024-6874 No score

macidn punycode buffer overread

libcurl's URL API function curl_url_get() offers punycode conversions, to and from IDN. Asking to convert a name that is exactly 256 bytes, libcurl ends up reading outside of a stack based buffer when built to use the macidn IDN backend. The conversion function then fills up the provided buffer exactly - but does not null-terminate the string.

This flaw can lead to stack contents accidentally getting returned as part of the converted string.

Record
CURL-CVE-2024-6874
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-2025:03198-1 No score

Security update for curl

This update for curl fixes the following issues:

Update to version 8.14.1 (jsc#PED-13055, jsc#PED-13056).

Security issues fixed:

  • CVE-2025-0665: eventfd double close can cause libcurl to act unreliably (bsc#1236589).
  • CVE-2025-4947: QUIC certificate check is skipped with wolfSSL allows for MITM attacks (bsc#1243397).
  • CVE-2025-5025: no QUIC certificate pinning with wolfSSL can lead to connections to impostor servers that are not easily noticed (bsc#1243706).
  • CVE-2025-5399: bug in websocket code can cause libcurl to get trapped in an endless busy-loop when processing specially crafted packets (bsc#1243933).
  • CVE-2024-6874: punycode conversions to/from IDN can leak stack content when libcurl is built to use the macidn IDN backend (bsc#1228260).
  • CVE-2025-9086: bug in patch comparison logic when processing cookies can lead to out-of-bounds read in heap buffer (bsc#1249191).
  • CVE-2025-10148: predictable websocket mask can lead to proxy cache poisoning by malicious server (bsc#1249348).

Other issues fixed:

  • Fix wrong return code when --retry is used (bsc#1249367).

    • tool_operate: fix return code when --retry is used but not triggered [b42776b]
  • Fix the --ftp-pasv option in curl v8.14.1 (bsc#1246197).

    • tool_getparam: fix --ftp-pasv [5f805ee]
  • Fixed with version 8.14.1:

    • TLS: add CURLOPT_SSL_SIGNATURE_ALGORITHMS and --sigalgs.
    • websocket: add option to disable auto-pong reply.
    • huge number of bugfixes.

    Please see https://curl.se/ch/ for full changelogs.

Record
SUSE-SU-2025:03198-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-1
8.8.0-1
curl
Azure Linux:2
before 8.8.0-1
8.8.0-1
Show 10 moreShow less
Affected packages
PackageAffectedFixed
cmake
Azure Linux:3
before 3.30.3-2
3.30.3-2
curl
Alpaquita:stream
8.8.0-r0 up to 8.9.0-r0
8.9.0-r0
curl
BellSoft Hardened Containers:stream
8.8.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
LibCURL_jll
Julia
8.8.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 7 CVEs
before 8.14.1-150600.4.28.1
8.14.1-150600.4.28.1
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP7
From an advisory covering 7 CVEs
before 8.14.1-150600.4.28.1
8.14.1-150600.4.28.1
curl
openSUSE:Leap 15.6
From an advisory covering 7 CVEs
before 8.14.1-150600.4.28.1
8.14.1-150600.4.28.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
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

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

In short

CVE-2024-6874 is a medium vulnerability (CVSS 4.3) in Curl, published July 24, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.79%, the 56th percentile. Fixed in curl 8.9.0-r0.

References

Show 23 moreShow less
MoveEnter Open