Bug 329193 - [Webapp] Possible security issue with JSP code exposure.
Summary: [Webapp] Possible security issue with JSP code exposure.
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Server-Side (show other bugs)
Version: 3.6.1   Edit
Hardware: PC Linux
: P3 major (vote)
Target Milestone: 3.6.2   Edit
Assignee: equinox.server-side-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: security
Depends on: 328795
Blocks: 328975 378977 378979 390491
  Show dependency tree
 
Reported: 2010-11-01 10:15 EDT by Thomas Watson CLA
Modified: 2012-09-26 17:17 EDT (History)
11 users (show)

See Also:
tjwatson: review+


Attachments
Proposed Http Registry and JSP fix (5.05 KB, patch)
2010-11-01 10:42 EDT, Simon Kaegi CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Watson CLA 2010-11-01 10:15:11 EDT
+++ This bug was initially created as a clone of Bug #328795 +++

This is probably an upstream issue, but I will raise it here as it is reproducible in the IDE.

If a ( or \ character is appended to a URL to the help system, then the source of the JSP page is rendered instead of the page itself.

For the IDE, this is not a big issue (the code is opensource anyway), but if the issue is in the HttpServer or Jetty itself, then this is a significant security issue.

We have check jetty 6.1.23, 6.1.26 and jetty-7 out of the box, and none of them are vulnerable to this issue.   So it is something about the configuration of Jetty in eclipse IDE, the HttpService, or the JSP library used.

So I've opened this issue here in the expectation that we can work upstream to identify which component/configuration is the cause.

I will continue to evaluation jetty's handling of such requests and work out what mechanism is catching these URLs and thus work out what could be potentially be disabled in the IDE or RT.

---------------------------

See bug328795 coment19

It looks like both the following methods need to sanitize input to escape '*':

org.eclipse.equinox.http.registry.internal.DefaultRegistryHttpContext.ResourceMapping.getResource(String)

org.eclipse.equinox.jsp.jasper.JspServlet.ServletContextAdaptor.getResource(String)
Comment 1 Simon Kaegi CLA 2010-11-01 10:42:01 EDT
Created attachment 182145 [details]
Proposed Http Registry and JSP fix
Comment 2 Simon Kaegi CLA 2010-11-01 11:29:24 EDT
Please review Tom. Thanks.
Comment 3 Thomas Watson CLA 2010-11-01 12:15:47 EDT
Looks good.
Comment 4 Simon Kaegi CLA 2010-11-01 14:06:38 EDT
Released.