components/curl/patches/014-CVE-2016-8616.patch
author Yiteng Zhang <yiteng.zhang@oracle.com>
Tue, 10 Jan 2017 17:35:21 -0800
changeset 7552 17fdfad41903
permissions -rw-r--r--
25241371 problem in LIBRARY/CURL 25241378 problem in LIBRARY/CURL 25241832 problem in LIBRARY/CURL 25241839 problem in LIBRARY/CURL 25241853 problem in LIBRARY/CURL 25241867 problem in LIBRARY/CURL 25241881 problem in LIBRARY/CURL 25241889 problem in LIBRARY/CURL 25241894 problem in LIBRARY/CURL 25241900 problem in LIBRARY/CURL 25306385 problem in LIBRARY/CURL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7552
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     1
From cef510beb222ab5750afcac2c74fcbcdc31ada64 Mon Sep 17 00:00:00 2001
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     2
From: Daniel Stenberg <[email protected]>
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     3
Date: Tue, 27 Sep 2016 18:01:53 +0200
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     4
Subject: [PATCH] connectionexists: use case sensitive user/password
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     5
 comparisons
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     6
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     7
CVE-2016-8616
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     8
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
     9
Bug: https://curl.haxx.se/docs/adv_20161102B.html
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    10
Reported-by: Cure53
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    11
---
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    12
 lib/url.c | 12 ++++++------
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    13
 1 file changed, 6 insertions(+), 6 deletions(-)
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    14
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    15
--- lib/url.c
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    16
+++ lib/url.c
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    17
@@ -3401,12 +3401,12 @@ ConnectionExists(struct Curl_easy *data,
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    18
       }
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    19
 
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    20
       if(!(needle->handler->flags & PROTOPT_CREDSPERREQUEST)) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    21
         /* This protocol requires credentials per connection,
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    22
            so verify that we're using the same name and password as well */
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    23
-        if(!strequal(needle->user, check->user) ||
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    24
-           !strequal(needle->passwd, check->passwd)) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    25
+        if(strcmp(needle->user, check->user) ||
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    26
+           strcmp(needle->passwd, check->passwd)) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    27
           /* one of them was different */
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    28
           continue;
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    29
         }
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    30
       }
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    31
 
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    32
@@ -3462,12 +3462,12 @@ ConnectionExists(struct Curl_easy *data,
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    33
            already authenticating with the right credentials. If not, keep
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    34
            looking so that we can reuse NTLM connections if
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    35
            possible. (Especially we must not reuse the same connection if
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    36
            partway through a handshake!) */
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    37
         if(wantNTLMhttp) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    38
-          if(!strequal(needle->user, check->user) ||
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    39
-             !strequal(needle->passwd, check->passwd))
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    40
+          if(strcmp(needle->user, check->user) ||
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    41
+             strcmp(needle->passwd, check->passwd))
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    42
             continue;
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    43
         }
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    44
         else if(check->ntlm.state != NTLMSTATE_NONE) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    45
           /* Connection is using NTLM auth but we don't want NTLM */
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    46
           continue;
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    47
@@ -3477,8 +3477,8 @@ ConnectionExists(struct SessionHandle *data,
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    48
         if(wantProxyNTLMhttp) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    49
-          if(!strequal(needle->proxyuser, check->proxyuser) ||
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    50
-             !strequal(needle->proxypasswd, check->proxypasswd))
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    51
+          if(strcmp(needle->proxyuser, check->proxyuser) ||
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    52
+             strcmp(needle->proxypasswd, check->proxypasswd))
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    53
             continue;
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    54
         }
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    55
         else if(check->proxyntlm.state != NTLMSTATE_NONE) {
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    56
           /* Proxy connection is using NTLM auth but we don't want NTLM */
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    57
           continue;
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    58
-- 
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    59
2.9.3
17fdfad41903 25241371 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff changeset
    60