cURL / Mailing Lists / curl-library / Single Mail


[SECURITY ADVISORY] host name out of boundary memory access

From: Daniel Stenberg <>
Date: Wed, 22 Apr 2015 08:09:47 +0200 (CEST)

host name out of boundary memory access

Project cURL Security Advisory, April 22nd 2015 -


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.

At best, this gets unnoticed but can also lead to a crash or worse. We have
not researched further what kind of malicious actions that potentially this
could be used for.

We are not aware of any exploits of this flaw.


This flaw can also be triggered with the curl command line tool.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name
CVE-2015-3144 to this issue.
- Affected versions: from libcurl 7.37.0 to and including 7.41.0
- Not affected versions: libcurl >= 7.42.0
libcurl is used by many applications, but not always advertised as such!
libcurl 7.42.0 better verifies the input string to the affected function.
A patch for this problem is available at [URL will be updated]:
We suggest you take one of the following actions immediately, in order of
A - Upgrade to curl and libcurl 7.42.0
B - Apply the patch and rebuild libcurl
C - Avoid using URLs with zero-length host names!
It was first reported to the curl project on April 16 2015. We contacted
distros_at_openwall on April 17th.
libcurl 7.42.0 was released on April 22nd 2015, coordinated with the
publication of this advisory.
Reported by Hanno Böck
Thanks a lot!

List admin:
Received on 2015-04-22