Bug 1213306 (CVE-2015-3143) - CVE-2015-3143 curl: re-using authenticated connection when unauthenticated
Summary: CVE-2015-3143 curl: re-using authenticated connection when unauthenticated
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2015-3143
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1214184 1214795 1214796 1215051 1215062
Blocks: 1193283 1210268 1213355
TreeView+ depends on / blocked
 
Reported: 2015-04-20 10:02 UTC by Vasyl Kaigorodov
Modified: 2023-05-12 08:55 UTC (History)
24 users (show)

Fixed In Version: curl 7.42.0
Doc Type: Bug Fix
Doc Text:
It was discovered that libcurl could incorrectly reuse NTLM-authenticated connections for subsequent unauthenticated requests to the same host. If an application using libcurl established an NTLM-authenticated connection to a server, and sent subsequent unauthenticated requests to the same server, the unauthenticated requests could be sent over the NTLM-authenticated connection, appearing as if they were sent by the NTLM authenticated user.
Clone Of:
Environment:
Last Closed: 2016-10-24 13:41:11 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:1254 0 normal SHIPPED_LIVE Moderate: curl security, bug fix, and enhancement update 2015-07-20 17:50:03 UTC
Red Hat Product Errata RHSA-2015:2159 0 normal SHIPPED_LIVE Moderate: curl security, bug fix, and enhancement update 2015-11-19 08:26:18 UTC

Description Vasyl Kaigorodov 2015-04-20 10:02:14 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 NTLM authenticated, the entire connnection 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.

libcurl's connection re-use logic will select an existing connection for
re-use when asked to do a request, and when asked to use NTLM libcurl have to
pick a connection with matching credentials only.

If a connection was first setup and used for an NTLM HTTP request with a
specific set of credentials, that same connection could later wrongly get
re-used in a subsequent HTTP request that was made to the same host - but
without having any credentials set! Since an NTLM connection was already
authenticated due to how NTLM works, the subsequent request could then get
sent over the wrong connection appearing as the initial user.

We are not aware of any exploits of this flaw.

Acknowledgements:

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

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

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

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

Affects: fedora-all [bug 1214184]

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

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

Comment 4 Stefan Cornelius 2015-04-23 14:39:01 UTC
Patch:
http://curl.haxx.se/CVE-2015-3143.patch

Comment 7 Huzaifa S. Sidhpurwala 2015-04-24 08:40:21 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 9 Fedora Update System 2015-04-26 12:42:41 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 10 Fedora Update System 2015-04-28 13:01:21 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 11 Fedora Update System 2015-05-02 18:11:25 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 19 errata-xmlrpc 2015-07-22 05:44:37 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 21 errata-xmlrpc 2015-11-19 07:08:08 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


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