Bug 1213335 (CVE-2015-3144) - CVE-2015-3144 curl: host name out of boundary memory access
Summary: CVE-2015-3144 curl: host name out of boundary memory access
Keywords:
Status: CLOSED NOTABUG
Alias: CVE-2015-3144
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1214181 1214795 1214796
Blocks: 1213355
TreeView+ depends on / blocked
 
Reported: 2015-04-20 10:53 UTC by Vasyl Kaigorodov
Modified: 2023-05-12 08:57 UTC (History)
20 users (show)

Fixed In Version: curl 7.42.0
Doc Type: Bug Fix
Doc Text:
It was discovered that libcurl did not properly process zero-length host names. If an attacker could trick an application using libcurl into processing zero-length host names, this could lead to an out-of-bounds read, and possibly cause that application to crash.
Clone Of:
Environment:
Last Closed: 2015-04-24 11:23:32 UTC
Embargoed:


Attachments (Terms of Use)
Suggested patch (1.23 KB, text/plain)
2015-04-20 10:57 UTC, Vasyl Kaigorodov
no flags Details

Description Vasyl Kaigorodov 2015-04-20 10:53:05 UTC
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.

Affected versions: from libcurl 7.37.0 to and including 7.41.0

Acknowledgements:

Red Hat would like to thank Daniel Stenberg (curl upstream) for reporting this issue. Upstream acknowledges Hanno Böck as the original reporter.

Comment 1 Vasyl Kaigorodov 2015-04-20 10:57:43 UTC
Created attachment 1016321 [details]
Suggested patch

Comment 2 Martin Prpič 2015-04-22 07:54:50 UTC
External References:

http://curl.haxx.se/docs/adv_20150422D.html

Comment 3 Martin Prpič 2015-04-22 07:56:28 UTC
Created curl tracking bugs for this issue:

Affects: fedora-all [bug 1214181]

Comment 5 Stefan Cornelius 2015-04-23 14:31:45 UTC
Created mingw-curl tracking bugs for this issue:

Affects: fedora-all [bug 1214795]
Affects: epel-7 [bug 1214796]

Comment 6 Huzaifa S. Sidhpurwala 2015-04-24 08:41:20 UTC
Statement:

Not vulnerable. This issue does not affect the version of curl as shipped with Red Hat Enterprise Linux 5, 6 and 7.

Comment 8 Fedora Update System 2015-04-26 12:42:54 UTC
curl-7.40.0-3.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2015-05-02 18:11:30 UTC
curl-7.37.0-14.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.