curl (SL6)

Synopsis: Moderate: curl security, bug fix, and enhancement update
Advisory ID: SLSA-2015:1254-2
Issue Date: 2015-07-22
CVE Numbers: CVE-2014-3613

It was found that the libcurl library did not correctly handle partial
literal IP addresses when parsing received HTTP cookies. An attacker able
to trick a user into connecting to a malicious server could use this flaw
to set the user’s cookie to a crafted domain, making other cookie-related
issues easier to exploit. (CVE-2014-3613)

A flaw was found in the way the libcurl library performed the duplication
of connection handles. If an application set the CURLOPT_COPYPOSTFIELDS
option for a handle, using the handle’s duplicate could cause the
application to crash or disclose a portion of its memory. (CVE-2014-3707)

It was discovered that the libcurl library failed to properly handle URLs
with embedded end-of-line characters. An attacker able to make an
application using libcurl to access a specially crafted URL via an HTTP
proxy could use this flaw to inject additional headers to the request or
construct additional requests. (CVE-2014-8150)

It was discovered that libcurl implemented aspects of the NTLM and
Negotatiate authentication incorrectly. If an application uses libcurl and
the affected mechanisms in a specifc way, certain requests to a previously
NTLM-authenticated server could appears as sent by the wrong authenticated
user. Additionally, the initial set of credentials for HTTP Negotiate-
authenticated requests could be reused in subsequent requests, although a
different set of credentials was specified. (CVE-2015-3143, CVE-2015-3148)

Bug fixes:

* An out-of-protocol fallback to SSL version 3.0 (SSLv3.0) was available
with libcurl. Attackers could abuse the fallback to force downgrade of the
SSL version. The fallback has been removed from libcurl. Users requiring
this functionality can explicitly enable SSLv3.0 through the libcurl API.

* A single upload transfer through the FILE protocol opened the
destination file twice. If the inotify kernel subsystem monitored the
file, two events were produced unnecessarily. The file is now opened only
once per upload.

* Utilities using libcurl for SCP/SFTP transfers could terminate
unexpectedly when the system was running in FIPS mode.

* Using the “–retry” option with the curl utility could cause curl to
terminate unexpectedly with a segmentation fault. Now, adding “–retry” no
longer causes curl to crash.

* The “curl –trace-time” command did not use the correct local time when
printing timestamps. Now, “curl –trace-time” works as expected.

* The valgrind utility could report dynamically allocated memory leaks on
curl exit. Now, curl performs a global shutdown of the NetScape Portable
Runtime (NSPR) library on exit, and valgrind no longer reports the memory

* Previously, libcurl returned an incorrect value of the
CURLINFO_HEADER_SIZE field when a proxy server appended its own headers to
the HTTP response. Now, the returned value is valid.


* The “–tlsv1.0”, “–tlsv1.1”, and “–tlsv1.2” options are available for
specifying the minor version of the TLS protocol to be negotiated by NSS.
The “–tlsv1” option now negotiates the highest version of the TLS
protocol supported by both the client and the server.

* It is now possible to explicitly enable or disable the ECC and the new
AES cipher suites to be used for TLS.


– Scientific Linux Development Team