Haxx Curl vulnerabilities
182 known vulnerabilities affecting haxx/curl.
Total CVEs
182
CISA KEV
0
Public exploits
2
Exploited in wild
0
Severity breakdown
CRITICAL32HIGH59MEDIUM77LOW14
Vulnerabilities
Page 2 of 10
CVE-2024-11053LOWCVSS 3.4≥ 7.76.0, < 8.11.12024-12-11
CVE-2024-11053 [LOW] CVE-2024-11053: When asked to both use a `.netrc` file for credentials and to follow HTTP
redirects, curl could leak
When asked to both use a `.netrc` file for credentials and to follow HTTP
redirects, curl could leak the password used for the first host to the
followed-to host under certain circumstances.
This flaw only manifests itself if the netrc file has an entry that matches
the redirect target hostname but the entry either omits just the password or
omits both login
nvdosv
CVE-2024-9681MEDIUMCVSS 6.5≥ 7.74.0, < 8.11.02024-11-06
CVE-2024-9681 [MEDIUM] CWE-697 CVE-2024-9681: When curl is asked to use HSTS, the expiry time for a subdomain might
overwrite a parent domain's ca
When curl is asked to use HSTS, the expiry time for a subdomain might
overwrite a parent domain's cache entry, making it end sooner or later than
otherwise intended.
This affects curl using applications that enable HSTS and use URLs with the
insecure `HTTP://` scheme and perform transfers with hosts like
`x.example.com` as well as `example.com` where
nvdosv
CVE-2024-8096MEDIUMCVSS 6.5≥ 7.41.0, < 8.10.02024-09-11
CVE-2024-8096 [MEDIUM] CWE-295 CVE-2024-8096: When curl is told to use the Certificate Status Request TLS extension, often referred to as OCSP sta
When curl is told to use the Certificate Status Request TLS extension, often referred to as OCSP stapling, to verify that the server certificate is valid, it might fail to detect some OCSP problems and instead wrongly consider the response as fine. If the returned status reports another error than 'revoked' (like for example 'unauthorized') it is not
nvdosv
CVE-2024-7264MEDIUMCVSS 6.5≥ 0, < 8.9.1-r02024-07-31
CVE-2024-7264 [MEDIUM] CVE-2024-7264: libcurl's ASN1 parser code has the `GTime2str()` function, used for parsing an
ASN
libcurl's ASN1 parser code has the `GTime2str()` function, used for parsing an
ASN.1 Generalized Time field. If given an syntactically incorrect field, the
parser might end up using -1 for the length of the *time fraction*, leading to
a `strlen()` getting performed on a pointer to a heap buffer area that is not
(purposely) null terminated.
This flaw most likely leads to a cra
osv
CVE-2024-6197HIGHCVSS 7.5≥ 0, < 8.9.0-12024-07-24
CVE-2024-6197 [HIGH] CVE-2024-6197: libcurl's ASN1 parser has this utf8asn1str() function used for parsing an ASN
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
osv
CVE-2024-6874MEDIUMCVSS 4.3≥ 0, < 8.9.0-12024-07-24
CVE-2024-6874 [MEDIUM] CVE-2024-6874: libcurl's URL API function [curl_url_get()](https://curl
libcurl's URL API function [curl_url_get()](https://curl.se/libcurl/c/curl_url_get.html) 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
osv
CVE-2024-2398HIGHCVSS 8.6≥ 7.44.0, < 8.7.02024-03-27
CVE-2024-2398 [HIGH] CWE-772 CVE-2024-2398: When an application tells libcurl it wants to allow HTTP/2 server push, and the amount of received h
When an application tells libcurl it wants to allow HTTP/2 server push, and the amount of received headers for the push surpasses the maximum allowed limit (1000), libcurl aborts the server push. When aborting, libcurl inadvertently does not free all the previously allocated headers and instead leaks the memory. Further, this error condition fails silen
nvdosv
CVE-2024-2379MEDIUMCVSS 6.3v8.6.02024-03-27
CVE-2024-2379 [MEDIUM] CWE-295 CVE-2024-2379: libcurl skips the certificate verification for a QUIC connection under certain conditions, when buil
libcurl skips the certificate verification for a QUIC connection under certain conditions, when built to use wolfSSL. If told to use an unknown/bad cipher or curve, the error path accidentally skips the verification and returns OK, thus ignoring any certificate problems.
nvdosv
CVE-2024-2466MEDIUMCVSS 6.5≥ 8.5.0, < 8.7.02024-03-27
CVE-2024-2466 [MEDIUM] CWE-297 CVE-2024-2466: libcurl did not check the server certificate of TLS connections done to a host specified as an IP ad
libcurl did not check the server certificate of TLS connections done to a host specified as an IP address, when built to use mbedTLS. libcurl would wrongly avoid using the set hostname function when the specified hostname was given as an IP address, therefore completely skipping the certificate check. This affects all uses of TLS protocols (HTTPS, FTP
nvdosv
CVE-2024-2004LOWCVSS 3.5≥ 7.85.0, < 8.7.02024-03-27
CVE-2024-2004 [LOW] CWE-436 CVE-2024-2004: When a protocol selection parameter option disables all protocols without adding any then the defaul
When a protocol selection parameter option disables all protocols without adding any then the default set of protocols would remain in the allowed set due to an error in the logic for removing protocols. The below command would perform a request to curl.se with a plaintext protocol which has been explicitly disabled. curl --proto -all,-http http://curl.s
nvdosv
CVE-2024-0853MEDIUMCVSS 5.3v8.5.02024-02-03
CVE-2024-0853 [MEDIUM] CWE-295 CVE-2024-0853: curl inadvertently kept the SSL session ID for connections in its cache even when the verify status
curl inadvertently kept the SSL session ID for connections in its cache even when the verify status (*OCSP stapling*) test failed. A subsequent transfer to
the same hostname could then succeed if the session ID cache was still fresh, which then skipped the verify status check.
nvdosv
CVE-2023-46219MEDIUMCVSS 5.3≥ 7.84.0, < 8.5.02023-12-12
CVE-2023-46219 [MEDIUM] CWE-311 CVE-2023-46219: When saving HSTS data to an excessively long file name, curl could end up
removing all contents, mak
When saving HSTS data to an excessively long file name, curl could end up
removing all contents, making subsequent requests using that file unaware of
the HSTS status they should otherwise use.
nvdosv
CVE-2023-46218MEDIUMCVSS 6.5≥ 7.46.0, ≤ 8.4.02023-12-07
CVE-2023-46218 [MEDIUM] CWE-178 CVE-2023-46218: This flaw allows a malicious HTTP server to set "super cookies" in curl that
are then passed back to
This flaw allows a malicious HTTP server to set "super cookies" in curl that
are then passed back to more origins than what is otherwise allowed or
possible. This allows a site to set cookies that then would get sent to
different and unrelated sites and domains.
It could do this by exploiting a mixed case flaw in curl's function that
verifies a giv
nvdosv
CVE-2023-38545CRITICALCVSS 9.8≥ 0, < 7.74.0-1.3+deb11u10≥ 0, < 7.88.1-10+deb12u4+1 more2023-10-18
CVE-2023-38545 [CRITICAL] CVE-2023-38545: This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake
This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake. When curl is asked to pass along the host name to the SOCKS5 proxy to allow that to resolve the address instead of it getting done by curl itself, the maximum length that host name can be is 255 bytes. If the host name is detected to be longer, curl switches to local name resolving and instead pa
osv
CVE-2023-38546LOWCVSS 3.7≥ 0, < 8.4.0-r02023-10-18
CVE-2023-38546 [LOW] CVE-2023-38546: This flaw allows an attacker to insert cookies at will into a running program
using libcurl, if the specific series of conditions are met
This flaw allows an attacker to insert cookies at will into a running program
using libcurl, if the specific series of conditions are met.
libcurl performs transfers. In its API, an application creates "easy handles"
that are the individual handles for single transfers.
libcurl provides a function call that duplicates en
osv
CVE-2023-38039HIGHCVSS 7.5≥ 7.84.0, < 8.3.02023-09-15
CVE-2023-38039 [HIGH] CWE-770 CVE-2023-38039: When curl retrieves an HTTP response, it stores the incoming headers so that
they can be accessed la
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.
nvdosv
CVE-2020-19909LOWCVSS 3.3v7.65.22023-08-22
CVE-2020-19909 [LOW] CWE-190 CVE-2020-19909: Integer overflow vulnerability in tool_operate.c in curl 7.65.2 via a large value as the retry delay
Integer overflow vulnerability in tool_operate.c in curl 7.65.2 via a large value as the retry delay. NOTE: many parties report that this has no direct security impact on the curl user; however, it may (in theory) cause a denial of service to associated systems or networks if, for example, --retry-delay is misinterpreted as a value much smaller than wh
nvdosv
CVE-2023-28319HIGHCVSS 7.5fixed in 8.1.02023-05-26
CVE-2023-28319 [HIGH] CWE-416 CVE-2023-28319: A use after free vulnerability exists in curl <v8.1.0 in the way libcurl offers a feature to verify
A use after free vulnerability exists in curl <v8.1.0 in the way libcurl offers a feature to verify an SSH server's public key using a SHA 256 hash. When this check fails, libcurl would free the memory for the fingerprint before it returns an error message containing the (now freed) hash. This flaw risks inserting sensitive heap-based data into the err
nvdosv
CVE-2023-28321MEDIUMCVSS 5.9fixed in 8.1.02023-05-26
CVE-2023-28321 [MEDIUM] CWE-295 CVE-2023-28321: An improper certificate validation vulnerability exists in curl <v8.1.0 in the way it supports match
An improper certificate validation vulnerability exists in curl <v8.1.0 in the way it supports matching of wildcard patterns when listed as "Subject Alternative Name" in TLS server certificates. curl can be built to use its own name matching function for TLS rather than one provided by a TLS library. This private wildcard matching function would mat
nvdosv
CVE-2023-28320MEDIUMCVSS 5.9fixed in 8.1.02023-05-26
CVE-2023-28320 [MEDIUM] CWE-400 CVE-2023-28320: A denial of service vulnerability exists in curl <v8.1.0 in the way libcurl provides several differe
A denial of service vulnerability exists in curl <v8.1.0 in the way libcurl provides several different backends for resolving host names, selected at build time. If it is built to use the synchronous resolver, it allows name resolves to time-out slow operations using `alarm()` and `siglongjmp()`. When doing this, libcurl used a global buffer that wa
nvdosv