Summary
Detail | |||
---|---|---|---|
Vendor | Haxx | First view | 2013-03-08 |
Product | Curl | Last view | 2025-05-28 |
Version | 7.28.1 | Type | Application |
Update | * | ||
Edition | * | ||
Language | * | ||
Sofware Edition | * | ||
Target Software | * | ||
Target Hardware | * | ||
Other | * | ||
CPE Product | cpe:2.3:a:haxx:curl |
Activity : Overall
Related : CVE
Date | Alert | Description | |
---|---|---|---|
0 | 2025-05-28 | CVE-2025-4947 | libcurl accidentally skips the certificate verification for QUIC connections when connecting to a host specified as an IP address in the URL. Therefore, it does not detect impostors or man-in-the-middle attacks. |
6.5 | 2024-11-06 | CVE-2024-9681 | 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 the first host is a subdomain of the second host. (The HSTS cache either needs to have been populated manually or there needs to have been previous HTTPS accesses done as the cache needs to have entries for the domains involved to trigger this problem.) When `x.example.com` responds with `Strict-Transport-Security:` headers, this bug can make the subdomain's expiry timeout *bleed over* and get set for the parent domain `example.com` in curl's HSTS cache. The result of a triggered bug is that HTTP accesses to `example.com` get converted to HTTPS for a different period of time than what was asked for by the origin server. If `example.com` for example stops supporting HTTPS at its expiry time, curl might then fail to access `http://example.com` until the (wrongly set) timeout expires. This bug can also expire the parent's entry *earlier*, thus making curl inadvertently switch back to insecure HTTP earlier than otherwise intended. |
5.3 | 2023-12-12 | CVE-2023-46219 | 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. |
6.5 | 2023-12-07 | CVE-2023-46218 | 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 given cookie domain against the Public Suffix List (PSL). For example a cookie could be set with `domain=co.UK` when the URL used a lower case hostname `curl.co.uk`, even though `co.uk` is listed as a PSL domain. |
7.5 | 2023-09-15 | CVE-2023-38039 | 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. |
3.7 | 2023-05-26 | CVE-2023-28322 | An information disclosure vulnerability exists in curl |
5.9 | 2023-05-26 | CVE-2023-28321 | An improper certificate validation vulnerability exists in curl |
5.9 | 2023-05-26 | CVE-2023-28320 | A denial of service vulnerability exists in curl |
7.5 | 2023-05-26 | CVE-2023-28319 | A use after free vulnerability exists in curl |
8.8 | 2023-03-30 | CVE-2023-27534 | A path traversal vulnerability exists in curl <8.0.0 SFTP implementation causes the tilde (~) character to be wrongly replaced when used as a prefix in the first path element, in addition to its intended use as the first element to indicate a path relative to the user's home directory. Attackers can exploit this flaw to bypass filtering or execute arbitrary code by crafting a path like /~2/foo while accessing a server with a specific user. |
8.8 | 2023-03-30 | CVE-2023-27533 | A vulnerability in input validation exists in curl <8.0 during communication using the TELNET protocol may allow an attacker to pass on maliciously crafted user name and "telnet options" during server negotiation. The lack of proper input scrubbing allows an attacker to send content or perform option negotiation without the application's intent. This vulnerability could be exploited if an application allows user input, thereby enabling attackers to execute arbitrary code on the system. |
6.5 | 2023-02-23 | CVE-2023-23916 | An allocation of resources without limits or throttling vulnerability exists in curl |
6.5 | 2023-02-23 | CVE-2023-23915 | A cleartext transmission of sensitive information vulnerability exists in curl |
9.1 | 2023-02-23 | CVE-2023-23914 | A cleartext transmission of sensitive information vulnerability exists in curl |
5.9 | 2023-02-09 | CVE-2022-43552 | A use after free vulnerability exists in curl <7.87.0. Curl can be asked to *tunnel* virtually all protocols it supports through an HTTP proxy. HTTP proxies can (and often do) deny such tunnel operations. When getting denied to tunnel the specific protocols SMB or TELNET, curl would use a heap-allocated struct after it had been freed, in its transfer shutdown code path. |
7.5 | 2022-12-23 | CVE-2022-43551 | A vulnerability exists in curl <7.87.0 HSTS check that could be bypassed to trick it to keep using HTTP. Using its HSTS support, curl can be instructed to use HTTPS instead of using an insecure clear-text HTTP step even when HTTP is provided in the URL. However, the HSTS mechanism could be bypassed if the host name in the given URL first uses IDN characters that get replaced to ASCII counterparts as part of the IDN conversion. Like using the character UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) instead of the common ASCII full stop (U+002E) `.`. Then in a subsequent request, it does not detect the HSTS state and makes a clear text transfer. Because it would store the info IDN encoded but look for it IDN decoded. |
6.5 | 2022-12-05 | CVE-2022-35260 | curl can be told to parse a `.netrc` file for credentials. If that file endsin a line with 4095 consecutive non-white space letters and no newline, curlwould first read past the end of the stack-based buffer, and if the readworks, write a zero byte beyond its boundary.This will in most cases cause a segfault or similar, but circumstances might also cause different outcomes.If a malicious user can provide a custom netrc file to an application or otherwise affect its contents, this flaw could be used as denial-of-service. |
9.8 | 2022-12-05 | CVE-2022-32221 | When doing HTTP(S) transfers, libcurl might erroneously use the read callback (`CURLOPT_READFUNCTION`) to ask for data to send, even when the `CURLOPT_POSTFIELDS` option has been set, if the same handle previously was used to issue a `PUT` request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the subsequent `POST` request. The problem exists in the logic for a reused handle when it is changed from a PUT to a POST. |
7.5 | 2022-10-29 | CVE-2022-42916 | In curl before 7.86.0, the HSTS check could be bypassed to trick it into staying with HTTP. Using its HSTS support, curl can be instructed to use HTTPS directly (instead of using an insecure cleartext HTTP step) even when HTTP is provided in the URL. This mechanism could be bypassed if the host name in the given URL uses IDN characters that get replaced with ASCII counterparts as part of the IDN conversion, e.g., using the character UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) instead of the common ASCII full stop of U+002E (.). The earliest affected version is 7.77.0 2021-05-26. |
8.1 | 2022-10-29 | CVE-2022-42915 | curl before 7.86.0 has a double free. If curl is told to use an HTTP proxy for a transfer with a non-HTTP(S) URL, it sets up the connection to the remote server by issuing a CONNECT request to the proxy, and then tunnels the rest of the protocol through. An HTTP proxy might refuse this request (HTTP proxies often only allow outgoing connections to specific port numbers, like 443 for HTTPS) and instead return a non-200 status code to the client. Due to flaws in the error/cleanup handling, this could trigger a double free in curl if one of the following schemes were used in the URL for the transfer: dict, gopher, gophers, ldap, ldaps, rtmp, rtmps, or telnet. The earliest affected version is 7.77.0. |
3.7 | 2022-09-23 | CVE-2022-35252 | When curl is used to retrieve and parse cookies from a HTTP(S) server, itaccepts cookies using control codes that when later are sent back to a HTTPserver might make the server return 400 responses. Effectively allowing a"sister site" to deny service to all siblings. |
5.9 | 2022-07-07 | CVE-2022-32208 | When curl < 7.84.0 does FTP transfers secured by krb5, it handles message verification failures wrongly. This flaw makes it possible for a Man-In-The-Middle attack to go unnoticed and even allows it to inject data to the client. |
9.8 | 2022-07-07 | CVE-2022-32207 | When curl < 7.84.0 saves cookies, alt-svc and hsts data to local files, it makes the operation atomic by finalizing the operation with a rename from a temporary name to the final target file name.In that rename operation, it might accidentally *widen* the permissions for the target file, leaving the updated file accessible to more users than intended. |
6.5 | 2022-07-07 | CVE-2022-32206 | curl < 7.84.0 supports "chained" HTTP compression algorithms, meaning that a serverresponse can be compressed multiple times and potentially with different algorithms. The number of acceptable "links" in this "decompression chain" was unbounded, allowing a malicious server to insert a virtually unlimited number of compression steps.The use of such a decompression chain could result in a "malloc bomb", makingcurl end up spending enormous amounts of allocated heap memory, or trying toand returning out of memory errors. |
4.3 | 2022-07-07 | CVE-2022-32205 | A malicious server can serve excessive amounts of `Set-Cookie:` headers in a HTTP response to curl and curl < 7.84.0 stores all of them. A sufficiently large amount of (big) cookies make subsequent HTTP requests to this, or other servers to which the cookies match, create requests that become larger than the threshold that curl uses internally to avoid sending crazy large requests (1048576 bytes) and instead returns an error.This denial state might remain for as long as the same cookies are kept, match and haven't expired. Due to cookie matching rules, a server on `foo.example.com` can set cookies that also would match for `bar.example.com`, making it it possible for a "sister server" to effectively cause a denial of service for a sibling site on the same second level domain using this method. |
CWE : Common Weakness Enumeration
% | id | Name |
---|---|---|
8% (7) | CWE-319 | Cleartext Transmission of Sensitive Information |
8% (7) | CWE-125 | Out-of-bounds Read |
7% (6) | CWE-787 | Out-of-bounds Write |
7% (6) | CWE-295 | Certificate Issues |
4% (4) | CWE-770 | Allocation of Resources Without Limits or Throttling |
4% (4) | CWE-416 | Use After Free |
4% (4) | CWE-415 | Double Free |
4% (4) | CWE-310 | Cryptographic Issues |
4% (4) | CWE-119 | Failure to Constrain Operations within the Bounds of a Memory Buffer |
3% (3) | CWE-522 | Insufficiently Protected Credentials |
3% (3) | CWE-287 | Improper Authentication |
3% (3) | CWE-200 | Information Exposure |
3% (3) | CWE-190 | Integer Overflow or Wraparound |
3% (3) | CWE-20 | Improper Input Validation |
2% (2) | CWE-668 | Exposure of Resource to Wrong Sphere |
2% (2) | CWE-264 | Permissions, Privileges, and Access Controls |
2% (2) | CWE-74 | Failure to Sanitize Data into a Different Plane ('Injection') |
1% (1) | CWE-755 | Improper Handling of Exceptional Conditions |
1% (1) | CWE-697 | Insufficient Comparison |
1% (1) | CWE-665 | Improper Initialization |
1% (1) | CWE-476 | NULL Pointer Dereference |
1% (1) | CWE-427 | Uncontrolled Search Path Element |
1% (1) | CWE-400 | Uncontrolled Resource Consumption ('Resource Exhaustion') |
1% (1) | CWE-362 | Race Condition |
1% (1) | CWE-345 | Insufficient Verification of Data Authenticity |
ExploitDB Exploits
id | Description |
---|---|
24487 | cURL Buffer Overflow Vulnerability |
Information Assurance Vulnerability Management (IAVM)
id | Description |
---|---|
2015-A-0199 | Multiple Vulnerabilities in Apple Mac OS X Severity: Category I - VMSKEY: V0061337 |
2014-B-0161 | Multiple Vulnerabilities in VMware ESXi 5.1 Severity: Category I - VMSKEY: V0057717 |
Snort® IPS/IDS
Date | Description |
---|---|
2014-01-10 | libcurl MD5 digest buffer overflow attempt RuleID : 26391 - Type : PROTOCOL-POP - Revision : 3 |
Nessus® Vulnerability Scanner
id | Description |
---|---|
2019-01-10 | Name: The remote Amazon Linux 2 host is missing a security update. File: al2_ALAS-2019-1139.nasl - Type: ACT_GATHER_INFO |
2019-01-08 | Name: The remote EulerOS host is missing multiple security updates. File: EulerOS_SA-2019-1002.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-298a3d2923.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-57779d51c1.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-69bac0f51c.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-7785911c9e.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-bc65ab5014.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-fa01002d7e.nasl - Type: ACT_GATHER_INFO |
2019-01-03 | Name: The remote Fedora host is missing a security update. File: fedora_2018-fdc4ca8675.nasl - Type: ACT_GATHER_INFO |
2018-12-28 | Name: The remote EulerOS host is missing multiple security updates. File: EulerOS_SA-2018-1427.nasl - Type: ACT_GATHER_INFO |
2018-12-20 | Name: The remote Amazon Linux 2 host is missing a security update. File: al2_ALAS-2018-1135.nasl - Type: ACT_GATHER_INFO |
2018-12-10 | Name: The remote EulerOS host is missing multiple security updates. File: EulerOS_SA-2018-1401.nasl - Type: ACT_GATHER_INFO |
2018-12-07 | Name: The remote Amazon Linux AMI host is missing a security update. File: ala_ALAS-2018-1112.nasl - Type: ACT_GATHER_INFO |
2018-11-16 | Name: The remote CentOS host is missing one or more security updates. File: centos_RHSA-2018-3157.nasl - Type: ACT_GATHER_INFO |
2018-11-07 | Name: The remote Debian host is missing a security update. File: debian_DLA-1568.nasl - Type: ACT_GATHER_INFO |
2018-11-05 | Name: The remote Debian host is missing a security-related update. File: debian_DSA-4331.nasl - Type: ACT_GATHER_INFO |
2018-11-02 | Name: The remote FreeBSD host is missing a security-related update. File: freebsd_pkg_e0ab177307c146c691704c5e81c00927.nasl - Type: ACT_GATHER_INFO |
2018-11-01 | Name: The remote Slackware host is missing a security update. File: Slackware_SSA_2018-304-01.nasl - Type: ACT_GATHER_INFO |
2018-10-26 | Name: The remote EulerOS Virtualization host is missing multiple security updates. File: EulerOS_SA-2018-1330.nasl - Type: ACT_GATHER_INFO |
2018-09-21 | Name: The remote PhotonOS host is missing multiple security updates. File: PhotonOS_PHSA-2018-1_0-0186.nasl - Type: ACT_GATHER_INFO |
2018-09-21 | Name: The remote PhotonOS host is missing multiple security updates. File: PhotonOS_PHSA-2018-2_0-0096.nasl - Type: ACT_GATHER_INFO |
2018-09-06 | Name: The remote FreeBSD host is missing a security-related update. File: freebsd_pkg_f4d638b9e6e54dbe8c70571dbc116174.nasl - Type: ACT_GATHER_INFO |
2018-08-17 | Name: The remote PhotonOS host is missing multiple security updates. File: PhotonOS_PHSA-2018-1_0-0108.nasl - Type: ACT_GATHER_INFO |
2018-08-17 | Name: The remote PhotonOS host is missing multiple security updates. File: PhotonOS_PHSA-2018-1_0-0124.nasl - Type: ACT_GATHER_INFO |
2018-08-17 | Name: The remote PhotonOS host is missing multiple security updates. File: PhotonOS_PHSA-2018-1_0-0158.nasl - Type: ACT_GATHER_INFO |