Bug 1213351 (CVE-2015-3148)

Summary: CVE-2015-3148 curl: Negotiate not treated as connection-oriented
Product: [Other] Security Response Reporter: Vasyl Kaigorodov <vkaigoro>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: acathrow, bazulay, bmcclain, cfergeau, dblechte, erik-fedora, gklein, idith, iheim, kdudka, lsurette, michal.skrivanek, paul, rbalakri, rh-spice-bugs, sardella, security-response-team, sisharma, skremen, slawomir, srevivo, ykaul
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: curl 7.42.0 Doc Type: Bug Fix
Doc Text:
It was discovered that libcurl could incorrectly reuse Negotiate authenticated HTTP connections for subsequent requests. If an application using libcurl established a Negotiate authenticated HTTP connection to a server and sent subsequent requests with different credentials, the connection could be re-used with the initial set of credentials instead of using the new ones.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-24 13:41:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1214183, 1214795, 1214796, 1215051, 1215062    
Bug Blocks: 1193283, 1210268, 1213355    

Description Vasyl Kaigorodov 2015-04-20 11:10:54 UTC
libcurl keeps a pool of its last few connections around after use to
fascilitate easy, conventient and completely transparent connection re-use for
applications.

When doing HTTP requests Negotiate authenticated, the entire connnection 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.

The net effect is that libcurl may end up re-using an authenticated Negotiate
connection and sending subsequent requests on it using new credentials, while
the connection remains authenticated with a previous initial credentials
setup.

We are not aware of any exploits of this flaw.

Affected versions: from libcurl 7.10.6 to and including 7.41.0

Acknowledgements:

Red Hat would like to thank Daniel Stenberg (curl upstream) for reporting this issue. Upstream acknowledges Isaac Boukris as the original reporter.

Comment 1 Martin Prpič 2015-04-22 07:55:29 UTC
External References:

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

Comment 2 Martin Prpič 2015-04-22 07:57:15 UTC
Created curl tracking bugs for this issue:

Affects: fedora-all [bug 1214183]

Comment 3 Stefan Cornelius 2015-04-23 09:53:16 UTC
Note: Upstream states that the patch for libcurl 7.42.0 is only a workaround.

Comment 4 Stefan Cornelius 2015-04-23 14:32:57 UTC
Created mingw-curl tracking bugs for this issue:

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

Comment 5 Stefan Cornelius 2015-04-23 14:38:39 UTC
Workaround patch:
http://curl.haxx.se/CVE-2015-3148.patch

Comment 8 Huzaifa S. Sidhpurwala 2015-04-24 08:40:29 UTC
Statement:

This issue affects the version of curl package as shipped with Red Hat Enterprise Linux 5. Red Hat Enterprise Linux 5 is now in Production 3 Phase of the support and maintenance life cycle. This issue is not planned to be addressed in a future update for Red Hat Enterprise Linux 5.

Comment 10 Fedora Update System 2015-04-26 12:42:49 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 11 Fedora Update System 2015-04-28 13:01:16 UTC
curl-7.32.0-20.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2015-05-02 18:11:21 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.

Comment 16 errata-xmlrpc 2015-07-22 05:44:43 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2015:1254 https://rhn.redhat.com/errata/RHSA-2015-1254.html

Comment 18 errata-xmlrpc 2015-11-19 07:08:25 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2015:2159 https://rhn.redhat.com/errata/RHSA-2015-2159.html