FreshPorts - VuXML

This page displays vulnerability information about FreeBSD Ports.

The last vuln.xml file processed by FreshPorts is:

Revision:  458952
Date:      2018-01-14
Time:      02:19:47Z
Committer: woodsb02

List all Vulnerabilities, by package

List all Vulnerabilities, by date

These are the vulnerabilities relating to the commit you have selected:

VuXML IDDescription
e4bc70fc-5a2f-11e6-a1bc-589cfc0654e1Vulnerabilities in Curl

Curl security team reports:

CVE-2016-5419 - TLS session resumption client cert bypass

CVE-2016-5420 - Re-using connections with wrong client cert

CVE-2016-5421 - use of connection struct after free

Discovery 2016-08-03
Entry 2016-08-04
ge 7.32.0 lt 7.50.1

b018121b-7a4b-11e6-bf52-b499baebfeafcURL -- Escape and unescape integer overflows

The cURL project reports

The four libcurl functions curl_escape(), curl_easy_escape(), curl_unescape and curl_easy_unescape perform string URL percent escaping and unescaping. They accept custom string length inputs in signed integer arguments.

The provided string length arguments were not properly checked and due to arithmetic in the functions, passing in the length 0xffffffff (2^32-1 or UINT_MAX or even just -1) would end up causing an allocation of zero bytes of heap memory that curl would attempt to write gigabytes of data into.

Discovery 2016-09-14
Entry 2016-09-14
ge 7.11.1 lt 7.50.3
765feb7d-a0d1-11e6-a881-b499baebfeafcURL -- multiple vulnerabilities

The cURL project reports

  • cookie injection for other servers
  • case insensitive password comparison
  • OOB write via unchecked multiplication
  • double-free in curl_maprintf
  • double-free in krb5 code
  • glob parser write/read out of bounds
  • curl_getdate read out of bounds
  • URL unescape heap overflow via integer truncation
  • Use-after-free via shared cookies
  • invalid URL parsing with '#'
  • IDNA 2003 makes curl use wrong host

Discovery 2016-11-02
Entry 2016-11-02
ge 7.1 lt 7.51.0
69cfa386-7cd0-11e7-867f-b499baebfeafcURL -- multiple vulnerabilities

The cURL project reports:

  • FILE buffer read out of bounds
  • TFTP sends more than buffer size
  • URL globbing out of bounds read

Discovery 2017-08-09
Entry 2017-08-09
lt 7.55.0
6294f75f-03f2-11e5-aab1-d050996490d0cURL -- multiple vulnerabilities

cURL reports:

libcurl keeps a pool of its last few connections around after use to facilitate easy, convenient, and completely transparent connection re-use for applications.

When doing HTTP requests NTLM authenticated, the entire connection becomes authenticated and not just the specific HTTP request which is otherwise how HTTP works. This makes NTLM special and a subject for special treatment in the code. With NTLM, once the connection is authenticated, no further authentication is necessary until the connection gets closed.

When doing HTTP requests Negotiate authenticated, the entire connection may become authenticated and not just the specific HTTP request which is otherwise how HTTP works, as Negotiate can basically use NTLM under the hood. curl was not adhering to this fact but would assume that such requests would also be authenticated per request.

libcurl supports HTTP "cookies" as documented in RFC 6265. Together with each individual cookie there are several different properties, but for this vulnerability we focus on the associated "path" element. It tells information about for which path on a given host the cookies is valid.

The internal libcurl function called sanitize_cookie_path() that cleans up the path element as given to it from a remote site or when read from a file, did not properly validate the input. If given a path that consisted of a single double-quote, libcurl would index a newly allocated memory area with index -1 and assign a zero to it, thus destroying heap memory it wasn't supposed to.

There is a private function in libcurl called fix_hostname() that removes a trailing dot from the host name if there is one. The function is called after the host name has been extracted from the URL libcurl has been told to act on.

If a URL is given with a zero-length host name, like in "http://:80" or just ":80", fix_hostname() will index the host name pointer with a -1 offset (as it blindly assumes a non-zero length) and both read and assign that address.

Discovery 2015-04-22
Entry 2015-05-26
lt 7.42.0
caa98ffd-0a92-40d0-b234-fd79b429157ecURL -- URL request injection vulnerability

cURL reports:

When libcurl sends a request to a server via a HTTP proxy, it copies the entire URL into the request and sends if off. If the given URL contains line feeds and carriage returns those will be sent along to the proxy too, which allows the program to for example send a separate HTTP request injected embedded in the URL. Many programs allow some kind of external sources to set the URL or provide partial pieces for the URL to ask for, and if the URL as received from the user is not stripped good enough this flaw allows malicious users to do additional requests in a way that was not intended, or just to insert request headers into the request that the program didn't intend. We are not aware of any exploit of this flaw.

Discovery 2014-12-25
Entry 2015-01-09
lt 7.40.0

04f29189-1a05-11e7-bc6e-b499baebfeafcURL -- potential memory disclosure

The cURL project reports:

There were two bugs in curl's parser for the command line option --write-out (or -w for short) that would skip the end of string zero byte if the string ended in a % (percent) or \ (backslash), and it would read beyond that buffer in the heap memory and it could then potentially output pieces of that memory to the terminal or the target file etc..

This flaw only exists in the command line tool.

We are not aware of any exploit of this flaw.

Discovery 2017-04-03
Entry 2017-04-05
Modified 2017-04-06
ge 6.5 lt 7.53.1_1
42880202-c81c-11e6-a9a5-b499baebfeafcURL -- buffer overflow

The cURL project reports:

printf floating point buffer overflow

libcurl's implementation of the printf() functions triggers a buffer overflow when doing a large floating point output. The bug occurs when the conversion outputs more than 255 bytes.

Discovery 2016-12-21
Entry 2016-12-22
ge 7.1 lt 7.52
8b27f1bc-c509-11e5-a95f-b499baebfeafcurl -- Credentials not checked

The cURL project reports:

libcurl will reuse NTLM-authenticated proxy connections without properly making sure that the connection was authenticated with the same credentials as set for this transfer.

Discovery 2016-01-27
Entry 2016-01-27
Modified 2017-02-06
ge 7.10.0 lt 7.47.0
ccace707-a8d8-11e7-ac58-b499baebfeafcURL -- out of bounds read

The cURL project reports:

FTP PWD response parser out of bounds read

libcurl may read outside of a heap allocated buffer when doing FTP.

When libcurl connects to an FTP server and successfully logs in (anonymous or not), it asks the server for the current directory with the PWD command. The server then responds with a 257 response containing the path, inside double quotes. The returned path name is then kept by libcurl for subsequent uses.

Due to a flaw in the string parser for this directory name, a directory name passed like this but without a closing double quote would lead to libcurl not adding a trailing NUL byte to the buffer holding the name. When libcurl would then later access the string, it could read beyond the allocated heap buffer and crash or wrongly access data beyond the buffer, thinking it was part of the path.

A malicious server could abuse this fact and effectively prevent libcurl-based clients to work with it - the PWD command is always issued on new FTP connections and the mistake has a high chance of causing a segfault.

Discovery 2017-10-04
Entry 2017-10-04
lt 7.56.0
27f742f6-03f4-11e5-aab1-d050996490d0cURL -- sensitive HTTP server headers also sent to proxies

cURL reports:

libcurl provides applications a way to set custom HTTP headers to be sent to the server by using CURLOPT_HTTPHEADER. A similar option is available for the curl command-line tool with the '--header' option.

When the connection passes through an HTTP proxy the same set of headers is sent to the proxy as well by default. While this is by design, it has not necessarily been clear nor understood by application programmers.

Discovery 2015-04-29
Entry 2015-05-26
lt 7.42.1