forwarding browser headers on remote content requests
-----------------------------------------------------

                 Key: SHINDIG-133
                 URL: https://issues.apache.org/jira/browse/SHINDIG-133
             Project: Shindig
          Issue Type: Bug
          Components: Gadgets Server - Java
            Reporter: Brian Eaton


There is some fairly dodgy code in ProxyHandler.java.  If a GET request shows 
up at the server, nearly all of the headers sent from the browser are forwarded 
to the backend.  This should be replaced with a white list of headers that are 
OK to copy out of the request.

As an example of various things that are likely to go wrong with the current 
code:
- cookies will be forwarded (and yes, I know gadgets shouldn't have cookies, 
but if they do we shouldn't leak them this way.)
- some hop by hop headers will be forwarded

There are probably other issues.

Problem code is here:

      if ("POST".equals(method)) {
         ....
      } else {
        postBody = null;
        headers = new HashMap<String, List<String>>();
        Enumeration<String> headerNames = request.getHeaderNames();
        while (headerNames.hasMoreElements()) {
          String header = headerNames.nextElement();
          headers.put(header, Collections.list(request.getHeaders(header)));
        }
      }

      removeUnsafeHeaders(headers);


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to