You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Robert Elliot (JIRA)" <ji...@apache.org> on 2012/10/27 22:29:11 UTC

[jira] [Created] (HTTPCLIENT-1256) HttpClient permits man in the middle attacks when using HTTPS

Robert Elliot created HTTPCLIENT-1256:
-----------------------------------------

             Summary: HttpClient permits man in the middle attacks when using HTTPS
                 Key: HTTPCLIENT-1256
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1256
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient
    Affects Versions: 3.1 Final
            Reporter: Robert Elliot
            Priority: Critical


As documented here:http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf HttpClient 3.1 does not use JSSE correctly - specifically, a request over HTTPS does not validate that the returned certificate is actually for the domain originally requested. This means a man in the middle attack via DNS poisoning will work.

I have proven this locally by setting a /etc/hosts entry for www.google.com to the IP address of github.com. When I then run the following code:

HttpClient client = new HttpClient();
GetMethod get = new GetMethod("https://www.google.com");
client.executeMethod(get);
System.out.println(get.getResponseBodyAsString());

I am returned the contents of the github.com page. I should have had an exception warning me that the certificate was not valid for www.google.com.

Whilst I appreciate that 3.x is not under development, given the large number of applications and libraries (such as Axis 1 & 2) that depend on version 3 it would seem responsible to fix this vulnerability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] [Resolved] (HTTPCLIENT-1256) HttpClient permits man in the middle attacks when using HTTPS

Posted by "Jon Moore (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jon Moore resolved HTTPCLIENT-1256.
-----------------------------------

    Resolution: Won't Fix

Unfortunately, the 3.x series is EOL.

                
> HttpClient permits man in the middle attacks when using HTTPS
> -------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1256
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1256
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 3.1 Final
>            Reporter: Robert Elliot
>            Priority: Critical
>
> As documented here:http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf HttpClient 3.1 does not use JSSE correctly - specifically, a request over HTTPS does not validate that the returned certificate is actually for the domain originally requested. This means a man in the middle attack via DNS poisoning will work.
> I have proven this locally by setting a /etc/hosts entry for www.google.com to the IP address of github.com. When I then run the following code:
> HttpClient client = new HttpClient();
> GetMethod get = new GetMethod("https://www.google.com");
> client.executeMethod(get);
> System.out.println(get.getResponseBodyAsString());
> I am returned the contents of the github.com page. I should have had an exception warning me that the certificate was not valid for www.google.com.
> Whilst I appreciate that 3.x is not under development, given the large number of applications and libraries (such as Axis 1 & 2) that depend on version 3 it would seem responsible to fix this vulnerability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] [Commented] (HTTPCLIENT-1256) HttpClient permits man in the middle attacks when using HTTPS

Posted by "Jon Moore (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13485793#comment-13485793 ] 

Jon Moore commented on HTTPCLIENT-1256:
---------------------------------------

Hi Robert,

3.x is more than "not under development"-- it has been declared "end of life." The last source code update to that code line is over two years old. I, for one, do not even know how to do a release of it at this point.

I have verified that the most recent trunk (4.2.x at this point) is not susceptible to this vulnerability, however--thanks for bringing it up.

Even if we were to do a release at this point, any dependent project would likewise need to do a code release; at which point the responsible thing to do for them is to upgrade to the latest code line anyway, thereby getting the benefit of all the improvements and fixes that have been contributed to the project over the last two years.

As such, I'm going to mark this as "Won't fix".

Jon
                
> HttpClient permits man in the middle attacks when using HTTPS
> -------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1256
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1256
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 3.1 Final
>            Reporter: Robert Elliot
>            Priority: Critical
>
> As documented here:http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf HttpClient 3.1 does not use JSSE correctly - specifically, a request over HTTPS does not validate that the returned certificate is actually for the domain originally requested. This means a man in the middle attack via DNS poisoning will work.
> I have proven this locally by setting a /etc/hosts entry for www.google.com to the IP address of github.com. When I then run the following code:
> HttpClient client = new HttpClient();
> GetMethod get = new GetMethod("https://www.google.com");
> client.executeMethod(get);
> System.out.println(get.getResponseBodyAsString());
> I am returned the contents of the github.com page. I should have had an exception warning me that the certificate was not valid for www.google.com.
> Whilst I appreciate that 3.x is not under development, given the large number of applications and libraries (such as Axis 1 & 2) that depend on version 3 it would seem responsible to fix this vulnerability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


[jira] [Closed] (HTTPCLIENT-1256) HttpClient permits man in the middle attacks when using HTTPS

Posted by "Jon Moore (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jon Moore closed HTTPCLIENT-1256.
---------------------------------

    
> HttpClient permits man in the middle attacks when using HTTPS
> -------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1256
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1256
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 3.1 Final
>            Reporter: Robert Elliot
>            Priority: Critical
>
> As documented here:http://www.cs.utexas.edu/~shmat/shmat_ccs12.pdf HttpClient 3.1 does not use JSSE correctly - specifically, a request over HTTPS does not validate that the returned certificate is actually for the domain originally requested. This means a man in the middle attack via DNS poisoning will work.
> I have proven this locally by setting a /etc/hosts entry for www.google.com to the IP address of github.com. When I then run the following code:
> HttpClient client = new HttpClient();
> GetMethod get = new GetMethod("https://www.google.com");
> client.executeMethod(get);
> System.out.println(get.getResponseBodyAsString());
> I am returned the contents of the github.com page. I should have had an exception warning me that the certificate was not valid for www.google.com.
> Whilst I appreciate that 3.x is not under development, given the large number of applications and libraries (such as Axis 1 & 2) that depend on version 3 it would seem responsible to fix this vulnerability.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org