p PatchFirst

PatchFirst · Latest vulnerabilities

curl vulnerabilities

Vulnerabilities published for curl in the last 30 days: 0. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 109

  1. ALPINE-CVE-2024-6874

    Medium · CVSS 4.3Fix available

    ALPINE-CVE-2024-6874

    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 can lead to stack contents accidently getting returned as part of the converted string.

    • Update to 8.9.0-r0
    Published Updated
  2. ALPINE-CVE-2024-6197

    High · CVSS 7.5Fix available

    ALPINE-CVE-2024-6197

    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 b

    • Update to 8.9.0-r0
    Published Updated
  3. ALPINE-CVE-2024-2466

    Medium · CVSS 6.5Fix available

    ALPINE-CVE-2024-2466

    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, FTPS, IMAPS, POPS3, SMTPS, etc).

    • Update to 8.7.1-r0
    Published Updated
  4. ALPINE-CVE-2024-2398

    High · CVSS 8.6Fix available

    ALPINE-CVE-2024-2398

    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 silently and is therefore not easily detected by an application.

    • Update to 8.7.1-r0
    Published Updated
  5. ALPINE-CVE-2024-2379

    Medium · CVSS 6.3Fix available

    ALPINE-CVE-2024-2379

    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.

    • Update to 8.7.1-r0
    Published Updated
  6. ALPINE-CVE-2024-2004

    Low · CVSS 3.5Fix available

    ALPINE-CVE-2024-2004

    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.se The flaw is only present if the set of selected protocols disables the entire set of available protocols, in itself a command with no practical use and therefore unlikely to be encountered in real situations. The curl security team has thus assessed this to be low severity bug.

    • Update to 8.7.1-r0
    Published Updated
  7. ALPINE-CVE-2024-0853

    Medium · CVSS 5.3Fix available

    ALPINE-CVE-2024-0853

    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.

    • Update to 8.6.0-r0
    Published Updated
  8. ALPINE-CVE-2023-46218

    Medium · CVSS 6.5Fix available

    ALPINE-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.

    • Update to 8.5.0-r0
    Published Updated
  9. ALPINE-CVE-2023-38546

    Low · CVSS 3.7Fix available

    ALPINE-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. 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 easy handle called [curl_easy_duphandle](https://curl.se/libcurl/c/curl_easy_duphandle.html). If a transfer has cookies enabled when the handle is duplicated, the cookie-enable state is also cloned - but without cloning the actual cookies. If the source handle did not read any cookies from a specific file on disk, the clon

    • Update to 8.4.0-r0
    Published Updated
  10. ALPINE-CVE-2023-38545

    Critical · CVSS 9.8Fix available

    ALPINE-CVE-2023-38545

    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 passes on the resolved address only. Due to this bug, the local variable that means "let the host resolve the name" could get the wrong value during a slow SOCKS5 handshake, and contrary to the intention, copy the too long host name to the target buffer instead of copying

    • Update to 8.4.0-r0
    Published Updated
  11. ALPINE-CVE-2023-38039

    High · CVSS 7.5Fix available

    ALPINE-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.

    • Update to 8.3.0-r0
    Published Updated
  12. ALPINE-CVE-2023-28322

    Low · CVSS 3.7Fix available

    ALPINE-CVE-2023-28322

    An information disclosure vulnerability exists in curl <v8.1.0 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 wasused 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 second transfer. The problem exists in the logic for a reused handle when it is (expected to be) changed from a PUT to a POST.

    • Update to 8.1.0-r0
    Published Updated
  13. ALPINE-CVE-2023-28321

    Medium · CVSS 5.9Fix available

    ALPINE-CVE-2023-28321

    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 match IDN (International Domain Name) hosts incorrectly and could as a result accept patterns that otherwise should mismatch. IDN hostnames are converted to puny code before used for certificate checks. Puny coded names always start with `xn--` and should not be allowed to pattern match, but the wildc

    • Update to 8.1.0-r0
    Published Updated
  14. ALPINE-CVE-2023-28320

    Medium · CVSS 5.9Fix available

    ALPINE-CVE-2023-28320

    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 was not mutex protected and a multi-threaded application might therefore crash or otherwise misbehave.

    • Update to 8.1.0-r0
    Published Updated
  15. ALPINE-CVE-2023-28319

    High · CVSS 7.5Fix available

    ALPINE-CVE-2023-28319

    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 error message that might be shown to users or otherwise get leaked and revealed.

    • Update to 8.1.0-r0
    Published Updated
  16. ALPINE-CVE-2023-27538

    Medium · CVSS 5.5Fix available

    ALPINE-CVE-2023-27538

    An authentication bypass vulnerability exists in libcurl prior to v8.0.0 where it reuses a previously established SSH connection despite the fact that an SSH option was modified, which should have prevented reuse. libcurl maintains a pool of previously used connections to reuse them for subsequent transfers if the configurations match. However, two SSH settings were omitted from the configuration check, allowing them to match easily, potentially leading to the reuse of an inappropriate connection.

    • Update to 7.88.1-r1
    Published Updated
  17. ALPINE-CVE-2023-27537

    Medium · CVSS 5.9Fix available

    ALPINE-CVE-2023-27537

    A double free vulnerability exists in libcurl <8.0.0 when sharing HSTS data between separate "handles". This sharing was introduced without considerations for do this sharing across separate threads but there was no indication of this fact in the documentation. Due to missing mutexes or thread locks, two threads sharing the same HSTS data could end up doing a double-free or use-after-free.

    • Update to 7.88.1-r1
    Published Updated
  18. ALPINE-CVE-2023-27536

    Medium · CVSS 5.9Fix available

    ALPINE-CVE-2023-27536

    An authentication bypass vulnerability exists libcurl <8.0.0 in the connection reuse feature which can reuse previously established connections with incorrect user permissions due to a failure to check for changes in the CURLOPT_GSSAPI_DELEGATION option. This vulnerability affects krb5/kerberos/negotiate/GSSAPI transfers and could potentially result in unauthorized access to sensitive information. The safest option is to not reuse connections if the CURLOPT_GSSAPI_DELEGATION option has been changed.

    • Update to 7.88.1-r1
    Published Updated
  19. ALPINE-CVE-2023-27535

    Medium · CVSS 5.9Fix available

    ALPINE-CVE-2023-27535

    An authentication bypass vulnerability exists in libcurl <8.0.0 in the FTP connection reuse feature that can result in wrong credentials being used during subsequent transfers. Previously created connections are kept in a connection pool for reuse if they match the current setup. However, certain FTP settings such as CURLOPT_FTP_ACCOUNT, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_FTP_SSL_CCC, and CURLOPT_USE_SSL were not included in the configuration match checks, causing them to match too easily. This could lead to libcurl using the wrong credentials when performing a transfer, potentially allowing unauthorized access to sensitive information.

    • Update to 7.88.1-r1
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →