Every CVE Search/ Get API key

CVE-2023-38039

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed...

7.5 HighPublic exploitFix available

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

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

56.2%Up 56.2 points since Sep 15, 2023
90%50%10%1%

What each source reports

NVD Score used 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
CVE-2023-38039
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
CVE List 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
CVE-2023-38039
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
EUVDEUVD-2023-41865 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
EUVD-2023-41865
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-99j9-jf36-9747 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed...

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
GHSA-99j9-jf36-9747
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-770
Updated
2026-11-02
OSVALPINE-CVE-2023-38039 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
ALPINE-CVE-2023-38039
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-28833 7.5

CVE-2023-38039 affecting package mysql for versions less than 8.0.35-1

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
AZL-28833
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 13 moreShow less
OSVAZL-29698 7.5

CVE-2023-38039 affecting package curl for versions less than 8.3.0-1

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
AZL-29698
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-38341 7.5

CVE-2023-38039 affecting package tensorflow for versions less than 2.16.1-1

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
AZL-38341
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-2023-38039 7.5
Record
BELL-CVE-2023-38039
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

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
CVE-2023-38039
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-2023-38039 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API. However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
DEBIAN-CVE-2023-38039
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-2026-1342 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed...

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
JLSEC-2026-1342
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
OSVRHSA-2023:7625 8.1

Red Hat Security Advisory: Red Hat JBoss Core Services Apache HTTP Server 2.4.57 SP2 security update

Record
RHSA-2023:7625
CVSS 3.1
8.1 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2023-38039 7.5

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API. However, curl did not have a limit in how many or how large headers it would accept in a response, allowing a malicious server to stream an endless series of headers and eventually cause curl to run out of heap memory.

Record
UBUNTU-CVE-2023-38039
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-2023-38039 No score

HTTP headers eat all memory

When curl retrieves an HTTP response, it stores the incoming headers so that they can be accessed later via the libcurl headers API.

However, curl did not have a limit on the size or quantity of headers it would accept in a response, allowing a malicious server to stream an endless series of headers to a client and eventually cause curl to run out of heap memory.

Record
CURL-CVE-2023-38039
Updated
2026-11-02
OSVMGASA-2023-0263 No score

Updated curl packages fix security vulnerability

TELNET option IAC injection. (CVE-2023-27533)

SFTP path ~ resolving discrepancy. (CVE-2023-27534)

FTP too eager connection reuse. (CVE-2023-27535)

GSS delegation too eager connection re-use. (CVE-2023-27536)

HSTS double free. (CVE-2023-27537)

SSH connection too eager reuse still. (CVE-2023-27538)

UAF in SSH sha256 fingerprint check. (CVE-2023-28319)

siglongjmp race condition. (CVE-2023-28320)

IDN wildcard match. (CVE-2023-28321)

more POST-after-PUT confusion. (CVE-2023-28322)

HTTP headers eat all memory. (CVE-2023-38039)

Record
MGASA-2023-0263
Updated
2026-11-02
OSVopenSUSE-SU-2024:13230-1 No score

curl-8.3.0-1.1 on GA media

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

Record
openSUSE-SU-2024:13230-1
Updated
2026-11-02
OSVSUSE-SU-2023:3692-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2023-38039: Fixed possible DoS when receiving too large HTTP header. (bsc#1215026)
Record
SUSE-SU-2023:3692-1
Updated
2026-11-02
OSVSUSE-SU-2023:3823-1 No score

Security update for curl

This update for curl fixes the following issues:

  • CVE-2023-38039: Fixed possible DoS when receiving too large HTTP header. (bsc#1215026)
Record
SUSE-SU-2023:3823-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
curl
Alpine:v3.15
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.16
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.17
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.18
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.19
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.20
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.21
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.22
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.23
7.84.0 up to 8.3.0-r0
8.3.0-r0
curl
Alpine:v3.24
7.84.0 up to 8.3.0-r0
8.3.0-r0
Show 55 moreShow less
Affected packages
PackageAffectedFixed
mysql
Azure Linux:2
before 8.0.35-1
8.0.35-1
curl
Azure Linux:2
before 8.3.0-1
8.3.0-1
tensorflow
Azure Linux:3
before 2.16.1-1
2.16.1-1
curl
Alpaquita:23
8.1.0-r2 up to 8.4.0-r0
8.4.0-r0
curl
Alpaquita:stream
8.1.2-r0 up to 8.4.0-r0
8.4.0-r0
curl
BellSoft Hardened Containers:stream
8.1.2-r0 up to 8.4.0-r0
8.4.0-r0
curl
Debian:12
before 7.88.1-10+deb12u3, plus listed versions
7.88.1-107.88.1-10+deb12u17.88.1-10+deb12u1~bpo11+17.88.1-10+deb12u27.88.1-10+deb12u3~bpo11+1
7.88.1-10+deb12u3
curl
Debian:13
before 8.3.0-1
8.3.0-1
curl
Debian:14
before 8.3.0-1
8.3.0-1
LibCURL_jll
Julia
7.84.0+0 up to 8.4.0+0
8.4.0+0
curl
Mageia:8
From an advisory covering 11 CVEs
before 7.74.0-1.13.mga8
7.74.0-1.13.mga8
curl
Mageia:9
From an advisory covering 11 CVEs
before 7.88.1-3.1.mga9
7.88.1-3.1.mga9
jbcs-httpd24-openssl
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el7jbcs
1:1.1.1k-16.el7jbcs
jbcs-httpd24-openssl-debuginfo
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el7jbcs
1:1.1.1k-16.el7jbcs
jbcs-httpd24-openssl-devel
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el7jbcs
1:1.1.1k-16.el7jbcs
jbcs-httpd24-openssl-libs
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el7jbcs
1:1.1.1k-16.el7jbcs
jbcs-httpd24-openssl-perl
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el7jbcs
1:1.1.1k-16.el7jbcs
jbcs-httpd24-openssl-static
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el7jbcs
1:1.1.1k-16.el7jbcs
jbcs-httpd24-openssl
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-openssl-debuginfo
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-openssl-devel
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-openssl-libs
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-openssl-libs-debuginfo
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-openssl-perl
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-openssl-static
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 1:1.1.1k-16.el8jbcs
1:1.1.1k-16.el8jbcs
jbcs-httpd24-curl
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:8.4.0-2.el7jbcs
0:8.4.0-2.el7jbcs
jbcs-httpd24-curl-debuginfo
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:8.4.0-2.el7jbcs
0:8.4.0-2.el7jbcs
jbcs-httpd24-libcurl
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:8.4.0-2.el7jbcs
0:8.4.0-2.el7jbcs
jbcs-httpd24-libcurl-devel
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:8.4.0-2.el7jbcs
0:8.4.0-2.el7jbcs
jbcs-httpd24-curl
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:8.4.0-2.el8jbcs
0:8.4.0-2.el8jbcs
jbcs-httpd24-curl-debuginfo
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:8.4.0-2.el8jbcs
0:8.4.0-2.el8jbcs
jbcs-httpd24-libcurl
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:8.4.0-2.el8jbcs
0:8.4.0-2.el8jbcs
jbcs-httpd24-libcurl-debuginfo
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:8.4.0-2.el8jbcs
0:8.4.0-2.el8jbcs
jbcs-httpd24-libcurl-devel
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:8.4.0-2.el8jbcs
0:8.4.0-2.el8jbcs
jbcs-httpd24-mod_jk
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:1.2.49-1.redhat_1.el7jbcs
0:1.2.49-1.redhat_1.el7jbcs
jbcs-httpd24-mod_jk-ap24
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:1.2.49-1.redhat_1.el7jbcs
0:1.2.49-1.redhat_1.el7jbcs
jbcs-httpd24-mod_jk-debuginfo
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:1.2.49-1.redhat_1.el7jbcs
0:1.2.49-1.redhat_1.el7jbcs
jbcs-httpd24-mod_jk
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:1.2.49-1.redhat_1.el8jbcs
0:1.2.49-1.redhat_1.el8jbcs
jbcs-httpd24-mod_jk-ap24
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:1.2.49-1.redhat_1.el8jbcs
0:1.2.49-1.redhat_1.el8jbcs
jbcs-httpd24-mod_jk-ap24-debuginfo
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:1.2.49-1.redhat_1.el8jbcs
0:1.2.49-1.redhat_1.el8jbcs
jbcs-httpd24-mod_http2
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:1.15.19-32.el7jbcs
0:1.15.19-32.el7jbcs
jbcs-httpd24-mod_http2-debuginfo
Red Hat:jboss_core_services:1::el7
From an advisory covering 11 CVEs
before 0:1.15.19-32.el7jbcs
0:1.15.19-32.el7jbcs
jbcs-httpd24-mod_http2
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:1.15.19-32.el8jbcs
0:1.15.19-32.el8jbcs
jbcs-httpd24-mod_http2-debuginfo
Red Hat:jboss_core_services:1::el8
From an advisory covering 11 CVEs
before 0:1.15.19-32.el8jbcs
0:1.15.19-32.el8jbcs
curl
SUSE:Linux Enterprise Software Development Kit 12 SP5
before 8.0.1-11.71.1
8.0.1-11.71.1
curl
SUSE:Linux Enterprise Server 12 SP5
before 8.0.1-11.71.1
8.0.1-11.71.1
curl
SUSE:Linux Enterprise Server for SAP Applications 12 SP5
before 8.0.1-11.71.1
8.0.1-11.71.1
curl
SUSE:Linux Enterprise Micro 5.3
before 8.0.1-150400.5.29.1
8.0.1-150400.5.29.1
curl
SUSE:Linux Enterprise Micro 5.4
before 8.0.1-150400.5.29.1
8.0.1-150400.5.29.1
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP4
before 8.0.1-150400.5.29.1
8.0.1-150400.5.29.1
curl
SUSE:Linux Enterprise Module for Basesystem 15 SP5
before 8.0.1-150400.5.29.1
8.0.1-150400.5.29.1
curl
openSUSE:Leap 15.4
before 8.0.1-150400.5.29.1
8.0.1-150400.5.29.1
curl
openSUSE:Leap 15.5
before 8.0.1-150400.5.29.1
8.0.1-150400.5.29.1
curl
Ubuntu:24.04:LTS
before 8.2.1-1ubuntu3
8.2.1-1ubuntu3
curl
openSUSE:Tumbleweed
before 8.3.0-1.1
8.3.0-1.1

Public exploits

Links only. Every CVE stores no exploit code.

Public exploits
SourceLinkDate
PoC in GitHubSmartkeyss/CVE-2023-380392024-05-20

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV, PoC in GitHub

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

In short

CVE-2023-38039 is a high vulnerability (CVSS 7.5) in Curl, published September 13, 2023. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 56.2%, the 99th percentile. Fixed in curl 8.3.0-r0.

References

Show 94 moreShow less
MoveEnter Open